本讲实例源代码地址:http://download.csdn.net/detail/happyrensh/7011653
1.显示调用时需要什么文件及放在什么地方,调用方式举例。
需要.dll文件和.h文件
.h放在调用程序项目目录下,与debug文件平行;.dll放在解决方案的debug文件中
实例:
typedef void (*lpFun)(void);
HINSTANCE hDll; //DLL句柄
hDll = LoadLibrary("StaticMfcDll.dll");
if (NULL==hDll)
{
MessageBox("DLL加载失败");
}
lpFun addFun; //函数指针
lpFun pShowDlg = (lpFun)GetProcAddress(hDll,"ShowDlg");
if (NULL==pShowDlg)
{
MessageBox("DLL中函数寻找失败");
}
pShowDlg();
2.隐私调用时需要什么文件及放在什么地方,调用方式举例。
需要.lib文件和.h文件
放在调用程序项目的目录下,与调用程序项目的debug文件平行。
实例:
在调用程序的调用源文件中的头部添加
#pragma comment(lib,"StaticMfcDll.lib")
extern "C" _declspec(dllimport)void ShowDlg(void); //函数前面若不添加extern "C" _declspec(dllimport)将出现
//error LNK2001: 无法解析的外部符号 "void __cdecl ShowDlg(void)" (?ShowDlg@@YAXXZ)
调用函数中只需要编写
ShowDlg();