- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Keil C 库文件的制作
在实际工作中, 我们可能通常要为我们的知识产权进行恰当
的保护, 这样我们就可能经常不方便以源代码的形式交付我们的
劳动成果, 所以这时候我们就需要将我们的执行码作为交付的方
式交付使用方使用。
对此我们也就需要把我们所设计的对象, 封装在执行码文档
中,并且要保证不影响使用方的使用。 Keil C 允许我们在一个工
程中包含两类执行码文件,即 .obj 文件与 .lib 文件。如图 9-2 :
图 9-2 项目中可包含 .obj 与.lib 两类执行码文件
下面我们来研究 .lib 封装执行码的方法。先在我们的工程中
包含一个 Keil C 中提供的库文件, 如 C51BS.LIB ,然后在项目的
工作空间中对文件名点右键。如图 9-3 :
图 9-3 查看 C51BS.LIB 的设置选项
选择 “为文件 C51BS.LIB 设置选项” 后, 将出现 C51BS.LIB
库文件的一些重要信息。如图 9-4 :
图 9-4 查看 C51BS.LIB 的设置选项
我们这里特别关注一下图 9-4 中所说的模块这个概念。如图
9-5 中关于模块的信息:
图 9-4 C51BS.LIB 库的模块设置选项
我们这样来理解,模块是库文件中一个完整的执行码整体,
它在联合编译的时候将会被整体联入我们的目标文件中去。 这就
意味着在一个库文件中的同一个模块里的执行码, 无论我们在项
目中有没有使用,它都将会被联入。
这个问题就是我们需要关注的问题。 如果我们的模块中有可
能出现不希望总被联入的执行码, 我们就必须要把它从现有的模
块中独立出来,单独形成模块。不要让额外的执行码来消耗我们
的单片机程序空间。
为了创建一个好用的库,我们先从图 9-5 中了解一下库的空
间逻辑关系。
LIB
M 1 M 2 M n
变量
对象
函数
图 9-5 库的空间逻辑关系
了解了库空间逻辑关系后我们再来了解一下 Keil C 所提供
的 lib51 库管理工具,如图 9-6:
图 9-6 lib51 命令表
lib51 为库文件管理提供了 Create、Add 、Delete、eXtract 、
List 、Replace、Transfer 这几个命令,关于这几个命令的具体说
明,可以在 Keil C 编辑器中提供的帮助中找到, 这里就不做详细
地说明。
根据这些命令的配置,我们可以来制订我们创建库的计划,
文档评论(0)