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

2019-12-18 18:46发布

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

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

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

怎么弄的,有人搞过没有。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
38条回答
ccao
1楼-- · 2019-12-22 12:46
 精彩回答 2  元偷偷看……
Gorgon_Meducer
2楼-- · 2019-12-22 16:09
单片工程师 发表于 2018-9-21 09:25
请教

模块对外的接口的具体实现不还是在模块的C文件中吗?

大体类似两个头文件。但核心是要了解C语言在对应平台上(比如arm架构)下的调用规约(Arm的叫AAPCS)。知道规约以后,对外的接口描述可以和实现完全不同——符合规约,能用就行。
Gorgon_Meducer
3楼-- · 2019-12-22 19:29
AAPCS文档——http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.pdf
huangqi412
4楼-- · 2019-12-22 21:47
外部不用的宏 可以在h删掉提供
cddx
5楼-- · 2019-12-23 03:23
本帖最后由 cddx 于 2018-9-23 14:25 编辑
muniao 发表于 2018-9-20 18:02
用一个void指针,隐藏结构体,改结构体参数,全部用函数操作如 set(void *,value);get(void *,&value ...


好方法!赞一个,这才是真正解决问题的方法!
补充:
想了一下,好像类型也检查没有了。
单片工程师
6楼-- · 2019-12-23 04:11
 精彩回答 2  元偷偷看……

一周热门 更多>