keil代码如何生成库(keil怎么编程序) -pg电子试玩入口

2024-03-10 22:55:30

大家好,今天乐乐子来为大家解答以下的问题,关于keil代码如何生成库,keil怎么编程序这个很多人还不知道,现在让我们一起来看看吧!

大家好,我是无际。

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

我们一般接触最多的程序文件就是.c和.h为后缀名的文件。

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

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

这样能达到以下目的:

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

一般很多芯片原厂就是这样干的,比如说ti的蓝牙和zigbee协议栈,虽然说是开源的,但是实际上你去看他们底层的代码,很多都是用这种方式加密的。

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

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

总结:一般核心技术就会这样去加密,菜鸡程序就不用加了,浪费情怀。

2.加快编译速度,比如说工程比较庞大的时候,如st固件库,文件很多编译时间需要很长,如果打包成lib库,就能节约不少时间(网上看的,真实性自行考察)。

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

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

把需要生成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不是什么技术,怎么能把你的代码封装完以后最小程度干涉别人的代码才是技术。

本文到此结束,希望对大家有所帮助。

本文地址:http://m.06567.cn/zhdt/724368.html
特别声明:以上内容来源于编辑整理发布,如有不妥之处,请与我方联系删除处理。
相关资讯
手作粘土新人入坑,粘土怎么做手
2024-03-11 发布
python免费全套教程100集,python免费教学
2024-03-11 发布
那些该不会换备胎的赶紧把这个收藏起来(汽车不会换备胎怎么办)
2024-03-11 发布
好消息终于来了(好消息终于来了视频)
2024-03-11 发布
零基础自学ps方法(零基础ps自学网)
2024-03-11 发布
最新资讯
嵌入式硬件和软件有什么区别,嵌入式硬件和软件哪个容易入门
2024-03-11 发布
国内服务器租用哪家好「国内较便宜服务器租用」
2024-03-11 发布
web开发工具迎来3d视图体验改进「web前端开发工具」
2024-03-11 发布
请点此安装最新flash「请点此安装控件 没反应」
2024-03-11 发布
ps教程之选择工具(ps教程从零开始学全套)
2024-03-11 发布
热门资讯
怎样快速学会蛙泳腿部动作(怎样快速学会电脑)
2024-03-10 发布
wwe皇家大战最好看的是哪几年(wwe皇家大战2020整场)
2024-03-10 发布
现有dna测序仪器「dna测序技术的应用及应用前景」
2024-03-10 发布
看完这个你也会装电脑了(看完这个你也会装傻的说说)
2024-03-10 发布
edge如何通过代码进开发者模式「怎么使用edge浏览器」
2024-03-10 发布
网站地图