您的位置:首页 > 编程语言 > C语言/C++

VC++MFC 简单的DLL加载动态链接库

2007-03-21 12:44 330 查看
1.先编写DLL(add.DLL)


CMfcdllApp theApp;


extern "C" __declspec(dllexport) void Show() //创建返回void型的dll函数




...{


AFX_MANAGE_STATE(AfxGetStaticModuleState());


CTest test;


test.DoModal ();


}


extern "C" __declspec(dllexport) char* ShowStr() //创建返回char*型的dll函数




...{


AFX_MANAGE_STATE(AfxGetStaticModuleState());


char* str ;


str = _T("showstr");


return str;


}


extern "C" __declspec(dllexport) int ShowInt() //创建返回int型的dll函数




...{


AFX_MANAGE_STATE(AfxGetStaticModuleState());


int k = 1;


return k;


}



2.然后编写MFC对话框程序

在事件里写入:


typedef (WINAPI * TESTDLL)(); //定地dll的使用


HINSTANCE hmod;


hmod = ::LoadLibrary ("mfcdll.dll"); //load dll


if(hmod==NULL)




...{


AfxMessageBox("Fail");


}


TESTDLL lpproc;


lpproc = (TESTDLL)GetProcAddress(hmod,"ShowInt"); //调用dll函数showint


int i;


if(lpproc!=(TESTDLL)NULL)




...{


i = (int)(*lpproc)();


}


lpproc = (TESTDLL)GetProcAddress(hmod, "ShowStr");//调用dll函数showstr


CString str;


if (lpproc != (TESTDLL)NULL )




...{


str = (char*)(*lpproc)();


}


FreeLibrary(hmod);



别忘了把add.DLL文件放到MFC程序里!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: