本帖最后由 chenbb8 于 2013-7-28 18:55 编辑
参考:http://hi.baidu.com/hyper99/item/6ecd2108f73bc2f2a1103430
将对外的函数和变量分为两种,一种是层内部使用的,一种是用户可视的。
类比于UCOS中带下划线的函数和不带下划线的函数,但是ucos将所有需要被外部引用的函数,不管是带下划线的还是不带下划线的都放到了一个头文件里,
这样用户会看到内部的细节。
现在只讨论函数,变量的做法一样。
比如A层内,有A1.C提供的对外的函数AInit(),AInit()的声明放在A.H内,还有相关配置开关也在这里
A2.C需要A3.C的Foo1()的支持,但是不需要被层外调用,所以放在A_PKG.H里
而A1.C内还有一个函数Foo2()是只在A1.C内部调用的,在定义函数的时候加static声明,这样就算用户蛋疼要看源文件,也能一下子就知道这玩意是内部使用的。
A_PKG.H包含A.H,A层内所有源文件包含A_PKG.H,层外使用A.H。
另外傻孩子还有一个封装的方法不过是X莫论坛的,只提供tid了:5505499
|