第二十九章 DLL LIB函式库开发 C Builder PPT课件 简体中文版.ppt

第二十九章 DLL LIB函式库开发 C Builder PPT课件 简体中文版.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二十九章 DLL LIB函式库开发 C Builder PPT课件 简体中文版

第二十九章 DLL / LIB函式库开发 当我们开发程序到一个阶段之后,我们一定会希望各个Component的程序代码可以分开的越清楚越好。而这一章最主要就是要告诉各位读者,我们常在Windows系统中看到的dll或是lib的档案该怎么实作?做出这样的library我们又该如何运用?为什么使用dll或是lib有利于我们开发程序?以上这些疑问都将会在这一章中得到解答。 大纲 29-1. DLL动态函式库开发 29-2. LIB静态函式库开发 本章习题 29-1. DLL动态函式库开发 相信各位一定常常会遇到一种情况,就是常常在执行某些应用程序时,系统会出现『无法找到动态链接库xxx.dll』,接着这个应用程序将会在你按下确定时一起被关闭。我们这一小节要提到的东西就是这个『DLL』。 到底dll是什么东西?这个东西他又有什么样的用途呢?DLL的原文意思是『Dynamic Link Library』,也就是动态连结函式库。一般小型的应用程序很少会用到这种所谓的DLL动态函式库,但是对于一个大型应用程序(如BCB、Office、Windows等等),使用DLL动态函式库可以降低许多Memory的使用量,也有助于各个Component的独立,更有利于后续版本的维护及开发。 29-1. DLL动态函式库开发 假设某个应用程序有使用到某个dll档案,在开启这个应用程序时,应用程序并不会马上将dll这个函式库load进入Memory中,只是将『加载点』纪录下来供需要时才使用。若是在这次执行应用程序的过程中,都不需要执行到dll函式库内所提供的功能,那在这次执行程序的过程中就减少了一个dll的Memory空间!若是有需要这个dll所提供的功能时,应用程序才会实时的将这个dll所需要的资源load到Memory中,让使用者使用。 DLL函式库还有一个关于内存方面的特点,那就是如果有超过两个以上的应用程序使用到同一个dll,在内存中并不会吃掉两倍以上的内存空间,不管几个程序会用到,内存中永远就只有放这么一份dll函式库的资源。根据上面的说法,DLL真的可以降低执行的内存使用量! 29-1. DLL动态函式库开发 除了内存方面的优势,当我们在开发DLL的时候,我们一定是根据某个功能开发的,所以当我们现在要开发一个大型的应用程序,我们就可以先利用软件工程的技术好好的分析一下即将要开发的应用程序,可以开始分Component,将这些Component的Input以及Output都定义清楚,并且发包出去给各个程序设计师。这时候,程序设计师只需要将接到的工作都写成DLL档案,这样既方便最后的整合,也将各个功能的程序代码独立出来。 既然DLL有以上我们所说的优点,那是不是表示,当我们在开发一套软件的后续开发或是维护时,也因为之前分工的很清楚,所以维护容易,可以减少维护软件的人力与物力。 29-1. DLL动态函式库开发 写DLL需要注意的事情: 如何写『entry point』 这个entry point就是当有程序呼叫到dll档案时的切入点。 利用BCB来写DLL动态函式库有两种entry point的写法, 第一种是使用BCB的entry point 第二种则是使用Microsoft Visual C++的entry point 一般来说,既然要写一个DLL动态函式库一定就是希望可以让多个应用程序共同使用它,这时候如果这些要用到这个DLL的应用程序的发展环境都在BCB下的话,你选择哪一种DLL的entry point格式都没有关系,但是如果你这个DLL档案有可能让在Visual C++下发展的应用程序使用到的话,我们还是比较建议使用Microsoft Visual C++格式的entry point会比较好。 29-1. DLL动态函式库开发 范例29-1:DLL动态函式库开发(BCB Style DLL) 范例说明 在范例29-1中,我们最主要是使用BCB的Entry Point当作切入点来实作该DLL函式库,而这个函式库所要表现出来的功能就是从m加到n的总合为多少。底下我们就一步一步带领读者开始练习DLL的实作范例。 Step 1:建立一个dll的开发项目 开一个新的项目,并且选择DLL这个图示。接着会出现一个对话窗,让我们决定要使用C还是C++开发该DLL组件,也让我们选择是不是要使用VCL、CLX、Multi Thread来开发,或是要改用VC++的Entry Point。 29-1. DLL动态函式库开发 范例29-1:DLL动态函式库开发(BCB Style DLL) Step 2:撰写主要程序代码 当我们按下该对话窗的OK之后,BCB就会自动帮我们产生一些必要的Code,这些Code包括了最重要的Entry Point,接下来我们就在自动

文档评论(0)

gz2018gz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档