- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC60作的动态链接库程序的详细操作步骤
实验三:创建和使用动态链接库:实现弹出一个对话框、求最大值、作加法功能 操作步骤: 一、创建一个动态链接库 1、新建“Win32 Dynamic-Link Library”动态链接库,选择路径并命名 2、在“DllFile.cpp”添加如下代码 #include stdafx.h #include DllFile.h HMODULE g_hModule; //主函数 BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: g_hModule = (HMODULE)hModule; // 保存模块句柄 break; } return TRUE; } // 自定义导出函数 void ExportFunc(LPCTSTR pszContent) { char sz[MAX_PATH]; ::GetModuleFileName(g_hModule, sz, MAX_PATH); ::MessageBox(NULL, pszContent, strrchr(sz, \\) + 1, MB_OK); } //作加法 int add( int x, int y) { return ( x +y ); } //求最大值 int MaxMin(int x,int y) { if( x = y ) return x; else return y; } 3、在“DllFile.h”中声明要导出的函数 //声明要导出的函数 __declspec(dllexport) void ExportFunc(LPCTSTR pszContent); __declspec(dllexport) int add( int x, int y); __declspec(dllexport) int MaxMin(int x,int y); 4、采用在运行期间动态链接,即运行过程中显示地加载DLL库,从中导出需要的函数。为了能动态地导出函数,要向工程中添加DEF文件: 打开DllFile工程,选择“File/New…”,在弹出的New对话框中选择Text File 选项,输入文件名DllFile.def,单击OK即可。 在新增的DEF文件中添加: EXPORTS ExportFunc add MaxMin 5、重新编译工程 二、创建一个基于对话框的MFC程序,用于测试该动态链接库 1、新建“MFC APPWIZARD(EXE)”,选择文件路径,输入文件名,选择应用程序类型为“基本对话框” 2、按下图添加控件和控件的成员变量 “问号”按钮的ID号为IDC_BUTTON2 “求最大值”按钮的ID号为IDC_BUTTON1 “作加法”按钮的ID号为IDC_BTN_ADD 编辑框的ID号为IDC_EDIT_TOTAL 在类向导中给编辑框控件IDC_EDIT_TOTAL添加成员变量m_ctrEditTotal 3、在MyDllTestDlg.cpp中声明函数原形 // 声明函数原形 typedef void (*PFNEXPORTFUNC)(LPCTSTR); typedef int (*lpFun)(int,int); 4、单击“问好”按钮,添加消息函数OnButton2() void CMyDllTestDlg::OnButton2() //弹出对话框“大家好” { // TODO: Add your control notification handler code here // 加载DLL库 HMODULE hModule = ::LoadLibrary(..\\DllFile\\Debug\\DllFile.dll); if(hModule != NULL) { // 取得ExportFunc函数的地址 PFNEXPORTFUNC mExportFunc = (PFNEXPORTFUNC)::GetProcAddress(hModule, ExportFunc); if(mExportFunc != NULL) { mExportFunc(大家好!); } // 卸载DLL库 ::FreeLibrary (hModule); } } 5、单击“求最大值”按钮,添加消息函数OnButton1() void CMyDllTest
有哪些信誉好的足球投注网站
文档评论(0)