这个 app_cfg.h 文件有什么益处?
那位仁兄解释一下app_cfg.h有什么好处,xxxx.c和 xxxx.h不就可以实现 模块化和封装化了吗? 专门用于模块的设置,区分开头文件的接口 os与app分离。 方便性号 那就是不用都无所谓的罗! 区分输入.h和输出.h 人为的将头文件分成两类,一种用于从外界(模块外部)输入配置信息,叫做 app_cfg.h另外一类专门用于从模块内向模块外输出接口信息(函数啊,类型定义啊,宏啊,最好别
放全局变量),这种头文件叫接口头文件,一般和模块同名,xxxxx.h的由来。
为什么要分开呢?因为混在一起很容易出现循环包含。分开以后层次和逻辑都很清晰,而
且可以做大规模的模块化。app_cfg.h像一个基础设施,每一个模块都有,并且都自动包含
上一级模块的 app_cfg.h,这样顶层的配置信息就可以简单的传递到下面的各级模块,同时
坚持使用相对路径,避免代码移植时候的不必要的工程设定。 Gorgon_Meducer 发表于 2016-4-28 20:53
人为的将头文件分成两类,一种用于从外界(模块外部)输入配置信息,叫做 app_cfg.h
另外一类专门用于从模 ...
恍然大悟,以前就是想怎么解决这样的问题,就是不知道有什么办法,原来如此。
还是大师解答明了。学到了。。。 老师解释之后,让新人少走不少弯路 Gorgon_Meducer 发表于 2016-4-28 20:53
人为的将头文件分成两类,一种用于从外界(模块外部)输入配置信息,叫做 app_cfg.h
另外一类专门用于从模 ...
大师有一个疑问,请教一下。你说的当前模块都有一个app_cfg.h用来引入外部模块配置信息,我下载了KEY模块与消息地图模块看了一下,它们的各模块里面的app_cfg.h里面的内容只有包含上一级的app_cfg.h,并没有包含其它的头文件。其它的的模块的头文件都是在***.C里面单独include的,这个是故意这样写的吗?能不能把其它模块的头文件,写在当前模块的app_cfg.h中呢? cgbabc 发表于 2017-7-19 11:31
大师有一个疑问,请教一下。你说的当前模块都有一个app_cfg.h用来引入外部模块配置信息,我下载了KEY模块 ...
不能!.c 要用谁,自己直接include。因为当前模块的app_cfg.h要被当前模块的接口头文件包含的。
这样的话,实际上,在模块的使用者那里可能会出现“短路”。 本帖最后由 cgbabc 于 2017-7-19 16:31 编辑
Gorgon_Meducer 发表于 2017-7-19 16:18
不能!.c 要用谁,自己直接include。因为当前模块的app_cfg.h要被当前模块的接口头文件包含的。
这样的话 ...
明白了,谢谢回复!
页:
[1]