



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态连接库的创建步骤: 一、创建Non-MFC DLL动态链接库 1、打开File New Project选项,选择Win32 Dynamic-Link Library sample project 工程名:DllDemo 2、新建一个.h文件DllDemo.h以下是引用片段: #ifdefDllDemo_EXPORTS #defineDllAPI_declspec(dllexport) #else #defineDllAPI_declspec(dllimport) externC/原样编译 DllAPIint_stdcallMax(inta,intb);/_stdcall使非C/C+语言内能够调用API #endif 3、在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.dll。 1、删除DllDemo工程中的DllDemo.h文件。 2、在DllDemo.cpp文件头,删除 #include DllDemo.h语句。 3、向该工程中加入一个文本文件,命名为DllDemo.def并写入如下语句: LIBRARY MyDll EXPORTS Max1 4、编译程序生成动态连接库。 动态链接的调用步骤: 一、隐式调用 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%d,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、 函数调用完毕后,使用FreeLibra
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AI赋能高校思政教育的策略及实施路径
- 散文的鉴赏技巧:初中语文高级教学
- 写人绘形画影的绘画作文(12篇)
- 上海建平中学高一(下)期末语文试题及答案
- 我心中的老师抒情作文5篇
- 描写月全食作文八年级(8篇)
- 廉颇蔺相如列传故事解析:初中语文教案
- 案件执行协议书
- 详细工作经历及岗位证明文书(6篇)
- 公交公司学雷锋活动方案
- 肿瘤科新护士入科培训和护理常规
- 第4章 颌位(双语)
- 课程综述(数电)
- 塔吊负荷试验方案
- 购买社区基本公共养老、青少年活动服务实施方案
- 伤口和伤口敷料基础知识.ppt
- 安徽省中等职业学校学历证明书办理申请表
- 《慢性肾脏病》PPT课件.ppt
- 例析物理竞赛中纯电阻电路的简化和等效变换
- 六年级下册美术课件第13课《祖国美景知多少》浙美版
- 智能照明系统的外文文献原稿和译文.doc
评论
0/150
提交评论