打印
[经验分享]

生成lib文件并调用方法

[复制链接]
607|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hilahope|  楼主 | 2023-12-13 23:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在项目上有时需要提供程序给客户自己修改一些参数调节效果,但自己又不想提供源码公开时,这时就可以使用keil自带的打包Lib文件功能,操作如下:
1、先打开一个工程项目,如果DRIVER文件下的lcd.c、key.c、24c02.c和IIC.c这四个文件的源码不想给别人看到的话,就将这些文件进行打包成Lib库,如下图1:

图1
2、将除了这四个文件外的其它文件都移除掉,这里可以先备份一份原工程项目,稍后可以将转化后的Lib库直接使用,而不用再将移除掉的文件重新添加,如下图2:

图2
3、点击上方工具栏的“Options for Target...”选项,如下图3的红框:

图3
4、点击“Output”选项,先点击红框1的“Select Folder for Objects”设置打包的Lib库文件保存位置,途径自己设置就行了,然后勾选红框2的“Create Library”(Create Library后面就是保存的位置),点击OK设置完毕,如下图4:

图4
5、进行编译,编译完之后会在刚刚的保存路径生成一个.lib文件,复制该文件,如下图5:

图5
6、在第2步备份的原工程项目可以新建个文件夹存放该复制的.lib文件,然后将刚刚封装成Lib的四个.c文件lcd.c、key.c、24c02.c和IIC.c从文件夹里面删掉,只保留这四个文件的.h文件,因为这里需要从这些.h文件去链接对应的.c文件的函数,所以打包成库的话只能看到.h文件里面的接口函数而看不到源码,红框里就是删减后的DRIVER文件和新增的Lib库文件,如下图6:

图6
7、到这里已经将所有步骤都完成了,接着进行编译,编译通过,如下图7:

图7
注意:这里打包成库的文件不能用函数通过右键“Go To Definition of xxxxx”去跳转到源码上了,只能看到对应.h文件里面的函数名。
这里也可以将一些官方库进行打包封装,因为编译时许多有用到的官方库都会进行编译,这样编译起来会浪费很长时间,所以这里也可以将这些文件进行打包,这样编译工程就不会将这些文件再次编译,这样就可以节省很多时间。

875056579d2174992d.png (13.94 KB )

875056579d2174992d.png

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

1275

帖子

0

粉丝