Keil MDK 下 Lib 库的封装

关键字 :KeilMDK封库NXP

       Hi,大家好,平时我们在开发项目过程中,为了方便我们将一些通用性比较强的工程文件实现在不同平台上的移植,通常我们会将目标工程文件进行封库操作,封库其目的之一是便于跨平台移植,另一个可以保证我们源码文件的安全性。那么本篇博文就基于 Keil MDK 开发工具下是如何封库进行一个简要讲解,要注意的是本文所说的封库是指封装静态 Lib 库,此外还有动态库的封装,本文暂不做讲解,下面直接进入正题。

1. 准备目标工程

       首先我们准备将目标 Source Code 准备好,确保目标工程是可以完整正常编译通过的。


  


2. 预封装工程的裁剪

       在上一步的目标工程上,我们找到准备封装的目标文件,一般是 xx.c 文件,然后将目标工程中除预封库文件外的所有 .c 文件全部移除,以及除了该 .c 所依赖的头文件,其它的所有头文件也全部移除。

  

3. 开发工具的配置

       按下图所示,依次点开魔法棒 -> Output -> Creat Library,然后生成的目标库文件的命名,一般跟目标文件名命名保持一致,只将后缀改为 .a 即可,也可以修改配置生成的文件路径,不改的话就默认生成在当前工程文件夹下的 debug 子文件夹中。



  

4. 输出 .lib 文件

       进行上述配置后,即可点击编译选项,开发工具将会生成一个 Lib 文件,输出控制台如下图所示即代表封库完成。

  

5. 替换目标文件

       将 .lib 文件生成好之后,在完整的 Source Code 工程目录下找到目标文件,把目标文件替换为刚才生成的 .lib 文件,再对当前工程进行全编译,编译通过,封库成功。

       以上就是在 Keil MDK 上实现封库操作的基本介绍,另外再说明一下,以上操作中特别需要注意的几点,一是 待封库工程一定要保证所有依赖的头文件都保留在当前工程中,二是 封成了目标库并进行库文件替换之后,再对 lib 文件所依赖的相关头文件中定义的一些全局参数进行修改是不会生效的,所以封库前需考虑到这个问题。本篇所有内容介绍到此结束,欢迎大家来进行探讨指正,谢谢!

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论