- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12.3.1 隐式链接 要实现对DLL的隐式链接,应用程序要从DLL提供者处获得以下3个文件: (1)包含有关DLL输出函数声明的头文件; (2)DLL的导入库(.LIB)文件; (3)动态链接库(.DLL)文件。 12.3.2 显式链接 显式链接方式要求应用程序以函数的形式实时地装入DLL,其实现过程可表示如下: (1)调用Win32的LoadLibary()函数,指定DLL的路径作为参数,函数将返回DLL模块的句柄; (2)调用GetProcAddress()函数,获取应用程序希望访问的DLL函数的入口指针; (3)通过DLL函数指针访问DLL函数; (4)当DLL使用完后,调用FreeLibrary()函数来卸载DLL。 1.获取DLL的句柄 2.获取函数的内存地址 3.卸载动态链接库 4.判断动态链接库是否被装入系统 5.显示链接示例 6.链接方式的选择 采用隐式链接,应用程序EXE文件被加载时,会将其调用的所有DLL文件加载在到内存中;但如果采用显式链接,程序员可以决定DLL文件何时加载或不加载。 也就是说,显式链接在运行时决定加载哪个DLL文件。 12.4 常规DLL MFC中的常规DLL可分为两种——静态链接到MFC的常规DLL和动态链接到MFC的常规DLL。 二者的区别是:前者使用的是MFC的静态链接库,生成的DLL文件长度大;后者使用MFC的动态链接库,生成的DLL文件长度小。 12.4.1 静态链接到MFC的常规DLL 1.利用MFC AppWizard生成工程 2.添加实现代码 3.编译链接 图12.4 工程向导 图12.5 选择DLL类型 12.4.2 动态链接到MFC的常规DLL 1.利用MFC AppWizard生成工程 2.添加实现代码 3.编译链接 图12.6 选择DLL类型 12.4.3 DLL的链接使用 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。 隐式链接就是在程序开始执行时就将DLL文件加载到应用程序当中。 实现隐式链接很容易,只要将导入函数的关键字_declspec(dllimport)和函数名写到应用程序对应的头文件中即可。 而后就可以直接使用函数MsgBox()。 与隐式链接相比,显式链接具有更好的灵活性。 1.生成工程 2.创建资源 3.添加代码 4.编译运行 图12.7 TestDLL窗体设计 图12.8 链接StaticMFCDll.dll结果 图12.9 链接ShareMFCDill.dll结果 12.5 扩展DLL MFC中扩展DLL的特点是用来建立MFC的派生类,该DLL只能被用MFC类库所编写的应用程序调用。 扩展DLL和常规DLL不一样,它没有一个从CWinApp继承而来的类的对象,编译器创建了一个DLL入口函数——DLLMain(),可以在此函数中实现DLL的初始化。 同样可以通过MFC AppWizard[dll]方式生成扩展DLL,和MFC常规DLL一样,下面同样实现一个扩展DLL,其导出函数为MsgBox(),弹出一个对话框,显示创建的DLL的类型(即扩展MFC DLL)。 12.5.1 生成DLL 1.建立工程 2.添加代码 3.编译运行 图12.10 选择DLL类型 12.5.2 链接DLL 和常规MFC DLL的链接实例一样,这里也采用显式链接。 图12.11 测试链接程序运行窗体 图12.12 链接ExtentionDLL.dll结果 小 结 本章主要介绍了MFC常规DLL和扩展DLL。 常规DLL又可细分成静态链接到MFC的DLL和动态链接到MFC的DLL两种。 扩展DLL是用MFC的动态链接版本所创建的,只被用MFC类库所编写的应用程序所调用。 本章在介绍DLL基本原理的基础上,着重讲解了DLL的编程思想,重点介绍了常规DLL和扩展DLL的基本概念及其创
您可能关注的文档
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch5 活动目录服务.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch5 习题参考答案.doc
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch6 证书服务.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch7 DHCP服务.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch7 习题参考答案.doc
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch8 Web服务.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch9 FTP服务.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch10 邮件服务.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch11 流媒体服务.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch11 习题参考答案.doc
文档评论(0)