MFC_动态链接库
直接上代码:
// CmfcdllApp 初始化 BOOL CmfcdllApp::InitInstance() { CWinApp::InitInstance(); AFX_MANAGE_STATE(AfxGetStaticModuleState()); AfxMessageBox(L"我是动态链接库入口点"); return TRUE; } BOOL CmfcdllApp::ExitInstance() { CWinApp::ExitInstance(); AFX_MANAGE_STATE(AfxGetStaticModuleState());//如果是MFC dll动态链接库的话,最好加上这句话,不然后面的函数有可能报错 AfxMessageBox(L"我是动态链接库出口点"); return TRUE; } extern "C" __declspec(dllexport) int add(int a,int b)//我是导出函数 { return a+b; } int sub(int a,int b) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); AfxMessageBox(L"我是sub方法"); return a-b; }
; mfcdll.def : 声明 DLL 的模块参数。
LIBRARY "mfcdll"
EXPORTS
; 此处可以是显式导出
sub
下面看如何调用:
//1.先在.h里面声明一个函数变量 typedef void xxxx(void); xxxx * sub; HMODULE hdd=LoadLibrary(L"mfcdll.dll");//加载动态链接库 sub=(xxxx*)GetProcAddress(hdd,"sub");//获得动态链接库里面的函数指针 if (sub) { ::AfxMessageBox(L"加载成功"); } sub();

浙公网安备 33010602011771号