如何在MFC中使用动态链接库

1.隐式链接加载动态链接库

如果有XXX.h ,XXX.lib,XXX.dll,这样就可以隐式链接加载了。

在所要引用的.cpp文件中加入

#include     “XXX.h”   //包含静态链接库的头文件

#pragma  comment(lib,"XXX")   //隐式调用库文件

这样就可以使用dll中封装的函数了。

其中语句“#pragma comment(lib,”XXX”)”可以用工程设置对话框的设置来代替。

 #pragma comment ( lib,"wpcap.lib" )  

表示链接wpcap.lib这个库。
和在工程设置里写上链入wpcap.lib的效果一样(两种方式等价,或说一个隐式一个显式调用),不过这种方法写的 程序别人在使用你的代码的时候就
不用再设置工程settings了。告诉连接器连接的时候要找ws2_32.lib,这样你就不用在linker的lib设置
里指定这个lib了。

#include "Mwic_32.h"  
#pragma comment(lib,"Mwic_32.lib")  

就不需要在project setting里面设置了

2.动态加载动态链接库

如果只有XXX.dll,只能动态加载,主要通过LoadLibrary和GetProcAddress两个函数来实现。

举个小例子:

int ires;

typedef int (_cdecl *MyFunc)(int,int);

HMODULE hModule = ::LoadLibrary(“MyDynamicLib.dll”); //加载动态链接库 此提供函数GetMaxCommDiv(int,int)计算最大公约数

扫描二维码关注公众号,回复: 1874629 查看本文章

MyFinc GetValue = (MyFunc)GetProcAddress(hModule,”GetMaxCommDiv”);

ires=GetValue(m,n);

FressLibrary(hModule);

来自:https://blog.csdn.net/hillgong/article/details/2811479

猜你喜欢

转载自blog.csdn.net/wowocpp/article/details/80899130
今日推荐