如何在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)计算最大公约数

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

ires=GetValue(m,n);

FressLibrary(hModule);

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值