- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载
第四部分 打 包 实 例
软件的功能既可以以单个可执行程序的方式发布,也可以以库的方式发布:即把可执行
程序中可以分开的部分放进功能库中,以便其他应用程序也可使用。库可以被静态或者动态
地链接到其他应用程序中。一个动态链接库可以立刻与多个应用程序共享其功能,它可以限
制访问硬驱的次数。若不应用动态链接库,即使在内存很大的情况下,各应用程序访问内存
的次数都可能很频繁。
这部分的例子都是涉及到以几种库的形式打包用户软件,包括静态、动态链接库及资源
库的例子。
第15章 库
代码库是一种应用程序与其他应用程序共享功能的途径。本章中的所有例子都涉及到库,
包括静态、动态链接库和资源库。动态链接库可以在执行时被多个应用程序共享。
例82 静态链接C / C + +库 使用Developer Studio进行一些简单的编辑,创建一个 M F C应
用程序可以访问的静态 C和C + +库。
例83 动态链接C / C + +库 创建一个执行时不需要M F C 的D L L 。这样,虽然特征少一些,
但使得D L L很小。
例84 动态链接M F C扩展类库 创建一个完全的MFC DLL ,它具有M F C类的所有功能。
例85 资源库 创建一个MFC DLL ,它没有任何功能,只是作为文本串、对话框模板等
资源的储存库形式存在。使用资源库,多个应用程序可以共享对话框模板、图标或位图等。
具有多语言接口的应用程序也可以使用资源库存储应用程序的特定语言资源。
15.1 例82 静态链接C/C++库
目标
打包C或C + +功能到库中,该库静态地与应用程序进行链接。静态链接使得最终执行程序
比动态链接的要大。但是在安装应用程序时,不必考虑是否包含了所需的 D L L文件。
注意 本例子假定在库中不使用任何M F C类。若想创建使用M F C类的函数库,参见例8 4。
策略
使用Developer Studio 创建工程工作空间。 S t u d i o创建了一个带有正确编译设置的工作空
间,但没有资源文件,甚至连资源文件的框架也没有。因此,必须创建或引进资源文件到工
292 第四部分 打 包 实 例
下载
程中。还要配置C库,以便通过使用_ c p l u s p l u s编译指令,使它能被C + +应用程序直接使用。
步骤
1. 创建一个静态库
1) 选择N e w菜单命令打开Developer Studio 的N e w 对话框。选择P r o j e c t标签和Win32 Static
L i b r a r y选项。给工程命名之后单击 O K按钮。现在,S t u d i o将创建一个带有正确编译 C或C + +静
态库的设置的空工程。
一个静态库工程创建 . l i b文件的发行版本或者调试版本。发行版本进行了性能优化,而调
试版本因带有调试符号而过于庞大。一个好的建议是改换旧文件的调试版本的名字,以使得
在应用程序使用时不至于混淆。库的调试版本将不能正确地与应用程序的发行版本链接或执
行,反之亦然。
2) 给库的调试版本一个新名字,选择 S t u d i o 的P r o j e c t / S e t t i n g s 菜单命令打开 P r o j e c t /
S e t t i n g s对话框。找到 S e t t i n g s组合框,然后选择 Win32 Debug 。最后选择L i b r a r y标签,改换
Output File Name 编辑框中显示的名字。典型的做法是在所列的名字后面加上字母“ d ”以标
识调试版本。
S t d A f x . c p p和S t d A f x . h文件定义了应用程序可能需要的每一个运行库和 M F C类。这些文件
被应用程序预编译过,以便只需编译其原始代码,而不是每次需要编译资源模块时,再编译
这些大量的文件。对于 C + + 文件,自动假定有这个特性。然而,本工程的 C + + 文件不使用
M F C类库,因此,需要使用如下方法关掉这个特性。
3) 对于 C + + 文件,必须
文档评论(0)