全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态连接库的创建步骤:一、创建Non-MFC DLL动态链接库1、打开File New Project选项,选择Win32 Dynamic-Link Library sample project 工程名:DllDemo2、新建一个.h文件DllDemo.h#ifdefDllDemo_EXPORTS #defineDllAPI_declspec(dllexport) #else #defineDllAPI_declspec(dllimport) externC/原样编译 DllAPIint_stdcallMax(inta,intb);/_stdcall使非C/C+语言内能够调用API #endif3、在DllDemo.cpp文件中导入DllDemo.h文件,并实现Max(int,int)函数#includeDllDemo.h DllAPIint_stdcallMax(inta,intb) if(a=b) returnNULL; elseif(ab) returna; else returnb; 4、编译程序生成动态连接库二、用.def文件创建动态连接库DllDemo.dll1、删除DllDemo工程中的DllDemo.h文件。2、在DllDemo.cpp文件头,删除 #include DllDemo.h语句。3、向该工程中加入一个文本文件,命名为DllDemo.def并写入如下语句:LIBRARY MyDllEXPORTSMax14、编译程序生成动态连接库。动态链接的调用步骤:一、隐式调用1、建立DllCnslTest工程2、将文件DllDemo.dll、DllDemo.lib拷贝到DllCnslTest工程所在的目录3、在DllCnslTest.h中添加如下语句:#defineDllAPI_declspec(dllimport) #pragmacomment(lib,DllDemo.lib)/在编辑器link时,链接到DllDemo.lib文件 externC DllAPIint_stdcallMax(inta,intb); 4、在DllCnslTest.cpp文件中添加如下语句:#includeDllCnslTest.h/或者#includeDllDemo.h voidmain() intvalue; value=Max(2,9); printf(TheMaxvalueis%dn,value); 5、编译并生成应用程序DllCnslTest.exe二、显式调用1、建立DllWinTest工程。2、将文件DllDemo.dll拷贝到DllWinTest工程所在的目录或Windows系统目录下。3、用vc/bin下的Dumpbin.exe的小程序,查看DLL文件(DllDemo.dll)中的函数结构。4、使用类型定义关键字typedef,定义指向和DLL中相同的函数原型指针。例:typedefint(*lpMax)(inta,intb);/此语句可以放在.h文件中5、通过LoadLibray()将DLL加载到当前的应用程序中并返回当前DLL文件的句柄。例:HINSTANCEhDll;/声明一个Dll实例文件句柄 hDll=LoadLibrary(DllDemo.dll);/导入DllDemo.dll动态连接库6、通过GetProcAddress()函数获取导入到应用程序中的函数指针。例:lpMaxMax; Max=(lpMax)GetProcAddress(hDLL,Max); intvalue; value=Max(2,9); printf(TheMaxvalueis%d,value);7、函数调用完毕后,使用FreeLibrar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 杂物间转让合同范本
- 村级绿化筹资协议书
- 内墙面粉刷合同范本
- 村委会合同补充协议
- 山东电工电气集团限公司2025年下半年高校毕业生招聘(第一批)易考易错模拟试题(共500题)试卷后附参考答案
- 山东国惠投资限公司招聘11人易考易错模拟试题(共500题)试卷后附参考答案
- 出售毛竹协议书范本
- 国网黑龙江省电力限公司2025年下半年高校毕业生招聘(第二批)易考易错模拟试题(共500题)试卷后附参考答案
- 供电使用安全协议书
- 桉树买卖树林协议书
- 民族管弦乐团课件
- 2025版煤矿安全规程学习培训课件
- 2025年高考(山东卷)物理试题及答案
- 化工装置安全启动前准备工作与风险评估
- GB/T 45942-2025填充矿物油的电气设备溶解气体分析(DGA)在电气设备工厂试验中的应用
- 心血管内科常用技术操作规范
- 用户兴趣图谱构建-洞察及研究
- 四川省遂宁市射洪市2024-2025学年七年级上学期11月期中数学试题
- 妇女生殖健康知识课件
- 视神经萎缩的护理查房
- 2025公共资源交易开评标数字见证服务规范
评论
0/150
提交评论