首页 » 互联网 » keil把源代码生成lib的方法_文件_函数

keil把源代码生成lib的方法_文件_函数

落叶飘零 2025-01-13 03:43:37 0

扫一扫用手机浏览

文章目录 [+]

最近有学员问我,怎么把我们的程序"加密"?

我们一样平常打仗最多的程序文件便是.c和.h为后缀名的文件。

keil把源代码生成lib的方法_文件_函数 keil把源代码生成lib的方法_文件_函数 互联网

不知道大家有没有看到过.lib为后缀名的文件,这种便是加密的源代码文件。

keil把源代码生成lib的方法_文件_函数 keil把源代码生成lib的方法_文件_函数 互联网
(图片来自网络侵删)

我们用keil开拓工具就可以把我们的.c文件加密成这种.lib文件。

这样能达到以下目的:

不想让别人看到自己写的源代码,同时又想让他利用你的程序功能。

一样平常很多芯片原厂便是这样干的,比如说TI的蓝牙和Zigbee协议栈,虽然说是开源的,但是实际上你去看他们底层的代码,很多都是用这种办法加密的。

还有便是一些模块原厂供应模块给方案商用,比如说以前我用汉枫wifi模块的时候,他们核心的代码便是通过这种办法的。

还有便是做电子狗和导航产品的,他们那个舆图库是100%加密的。

总结:一样平常核心技能就会这样去加密,菜鸡程序就不用加了,摧残浪费蹂躏情怀。

2.加快编译速率,比如说工程比较弘大的时候,如ST固件库,文件很多编译韶光须要很长,如果打包成lib库,就能节约不少韶光(网上看的,真实性自行稽核)。

下面是用keil把我们代码天生.lib的方法,我用我们无际单片机编程的wifi报警主机项目按键功能模块举例。

建立一个空的工程,把你须要加密的文件添加进去。

把须要天生lib的.c文件添加进来,这我须要把我按键功能模块代码天生lib,以是添加hal_key.c。

2.打开keil的options for Target…设置。

3.选择Output选项,在该选项选择Create Library…lib

然后点ok,重新编译就行了,是不是贼大略?

4.编译没有缺点往后,我们在工程目录下找到Objects文件夹。

5.我们可以看到有一个lib文件,便是我们刚刚编译天生的。

不知道大家创造没,怎么天生的名字不是hal_key而是wh01?

这个实在是根据你工程名字天生的,我们手动重命名就可以了。

6.把我们这个lib文件添加到须要用到按键功能的工程文件夹里。

这里须要把稳的是,一样平常要把lib文件和对应.h头文件一起放到对应文件夹里面,别人利用你的函数功能,以及函数有什么参数,便是通过查看.h文件调用的。

通过hal_key.h文件,我大概知道这个源代码供应3个可以供应外部调用的函数。

一个是按键初始化hal_KeyInit(),无返回值,无形参。

一个是按键检测函数hal_KeyProc(),无返回值,无形参。

一个是函数指针注册函数hal_KeyScanCBSRegister。

如果我们须要给别人用的话,不要学我啥注释没有,我们是在视频教程里有讲每个函数的浸染。

一定要有点注释,让别人知道怎么调用,有什么条件哀求,不然光几个函数别人肯定一脸懵逼。

7.下面,我们就能正常利用hal_key.c的函数功能啦。

同时,别人也看不到你hal_key.c这个文件的源代码了。

末了还想跟大家说几句话。

别看封装lib代码很大略,实际是一门技能活。

紧张表示在你的代码移植性写的好不好,如果移植性不好,会直接暴露你的水平。

我就碰到过很多模块厂的工程师封装往后,还须要用到全局变量来通报数据的,这种便是履历不敷的人写出来的代码。

封装成lib不是什么技能,怎么能把你的代码封装完往后最小程度干涉别人的代码才是技能。

标签:

相关文章

蓝牙终结者明年大年夜爆发_蓝牙_华为

华为家当链干系个股近期很受追捧。除开比较小众的卫星家当链外,紧张是两个方向:一是手机家当链。近期华为手机Mate 60 pro/M...

互联网 2025-01-14 阅读0 评论0