[请教]keil如何把.h的部分封装到库 外部不可见

2019-12-18 18:46发布

本帖最后由 ywlzh 于 2018-9-20 14:19 编辑

keil 封装成库 我们都知道怎么弄。

比较苦闷的是 老板要将.h里的一些关键的宏,函数,连寄存器的名字都不想给客户看,只看一些基本操作的函数名,告诉客户如何操作就行了。
可又不想改变现有的代码结构,文件层次,免得后期不好维护。

怎么弄的,有人搞过没有。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
38条回答
yanyanyan168
1楼-- · 2019-12-20 11:29
进来学习下
ourdemo
2楼-- · 2019-12-20 12:12
编译成lib
ywlzh
3楼-- · 2019-12-20 13:20
lsx007 发表于 2018-9-20 16:36
不给外部看变量、函数、宏的为什么要放在对外.h 文件面?反之,必须要给外面看的才放在对外的.h 里面 ...

这个要求又不是一开始提出来的,早知道 就不会这么麻烦了

举个例子

#define MAX(a, b)                 ((a)>(b) ? (a) : (b))

虽然这个MAX宏 不是关键的代码,给不给客户都无所谓,就拿这个做个例子

你平时写代码不是将这种宏写在.h里的吗?方便其他的.c文件好直接调用。

问题来了,要将这个宏隐藏起来,客户看不到,可是自己内部的.c文件可以调用。

别说每个要调用的.c文件前面都写这一句 我滴妈呀 太麻烦了
ywlzh
4楼-- · 2019-12-20 15:52
 精彩回答 2  元偷偷看……
radar_12345
5楼-- · 2019-12-20 18:07
ywlzh 发表于 2018-9-20 17:36
这个要求又不是一开始提出来的,早知道 就不会这么麻烦了

举个例子

如果这样,为什么要使用宏呢,写成函数不行吗,编译后文件还小些
日日♂夜夜
6楼-- · 2019-12-20 19:03
ywlzh 发表于 2018-9-20 17:39
你知道怎么把.h文件编译成lib? 然后 其他.c文件只要#include xxxlib 就可以了?  ...

你把现在这份代码(.c .h) 编译成库
然后在.h里面删掉不想被他们知道的东西,
最后把简化版的.h和.a发过去

一周热门 更多>