如何在MFC中使用动态链接库
2个回答
展开全部
1.隐式链接加载
动态链接库
如果有XXX.h
,XXX.lib,XXX.dll,这样就可以隐式链接加载了。
在所要引用的.cpp文件中加入
#include“XXX.h”
//包含静态链接库的
头文件
#pragma
comment(lib,"XXX")
//隐式调用
库文件
这样就可以使用dll中封装的函数了。
其中语句“#pragma
comment(lib,"XXX")”可以用工程设置对话框的设置来代替。
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");
动态链接库
如果有XXX.h
,XXX.lib,XXX.dll,这样就可以隐式链接加载了。
在所要引用的.cpp文件中加入
#include“XXX.h”
//包含静态链接库的
头文件
#pragma
comment(lib,"XXX")
//隐式调用
库文件
这样就可以使用dll中封装的函数了。
其中语句“#pragma
comment(lib,"XXX")”可以用工程设置对话框的设置来代替。
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");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询