目的:客户需要修改某个参数时,需提供工程进行修改,但不想客户看见关键源码,Lib库的好处就体现出来了。
1.选择需要打包的文件
打开工程,选择不想让看到的关键源码
这里我选择i2c.c进行打包成lib库文件,删除掉除i2c以外的文件,仅保留此文件
2.生成lib库配置
打开keil中的"魔术棒"target options,勾选Create Library,点击OK后进行编译
3.调用Lib库文件
编译成功后会生成lib文件,默认在工程文件的Output文件夹中,在原工程中删除i2c.c,只保留该文件的头文件i2c.h,因为需要从i2c.h文件去链接对应的.c文件的函数,所以打包成库后只能看到.h文件里面的接口函数,但无法查看源码。
最后添加iic.lib文件到工程中,编译即可;
总结:如果工程中有一些文件不想被客户看到,或者想提升编译速度,可以把多个文件打包成lib库文件,缺点是不能使用Go To definition跳转定义。