MindControl 发表于 2016-4-19 16:18:17

这个 app_cfg.h 文件有什么益处?

那位仁兄解释一下app_cfg.h有什么好处,xxxx.c和 xxxx.h不就可以实现 模块化和封装化了吗?

cslrd 发表于 2016-4-19 16:24:04

专门用于模块的设置,区分开头文件的接口

ibichao 发表于 2016-4-19 17:49:15

os与app分离。

sxmilovebb2 发表于 2016-4-19 23:52:44

方便性号

MindControl 发表于 2016-4-20 19:38:30

那就是不用都无所谓的罗!

gujiamao_love 发表于 2016-4-27 09:32:24

区分输入.h和输出.h

Gorgon_Meducer 发表于 2016-4-28 20:53:24

人为的将头文件分成两类,一种用于从外界(模块外部)输入配置信息,叫做 app_cfg.h
另外一类专门用于从模块内向模块外输出接口信息(函数啊,类型定义啊,宏啊,最好别
放全局变量),这种头文件叫接口头文件,一般和模块同名,xxxxx.h的由来。

为什么要分开呢?因为混在一起很容易出现循环包含。分开以后层次和逻辑都很清晰,而
且可以做大规模的模块化。app_cfg.h像一个基础设施,每一个模块都有,并且都自动包含
上一级模块的 app_cfg.h,这样顶层的配置信息就可以简单的传递到下面的各级模块,同时
坚持使用相对路径,避免代码移植时候的不必要的工程设定。

MindControl 发表于 2016-5-4 20:00:49

Gorgon_Meducer 发表于 2016-4-28 20:53
人为的将头文件分成两类,一种用于从外界(模块外部)输入配置信息,叫做 app_cfg.h
另外一类专门用于从模 ...

恍然大悟,以前就是想怎么解决这样的问题,就是不知道有什么办法,原来如此。
还是大师解答明了。学到了。。。

JungleKid 发表于 2016-12-20 11:04:11

老师解释之后,让新人少走不少弯路

cgbabc 发表于 2017-7-19 11:31:15

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中呢?

Gorgon_Meducer 发表于 2017-7-19 16:18:22

cgbabc 发表于 2017-7-19 11:31
大师有一个疑问,请教一下。你说的当前模块都有一个app_cfg.h用来引入外部模块配置信息,我下载了KEY模块 ...

不能!.c 要用谁,自己直接include。因为当前模块的app_cfg.h要被当前模块的接口头文件包含的。
这样的话,实际上,在模块的使用者那里可能会出现“短路”。

cgbabc 发表于 2017-7-19 16:26:45

本帖最后由 cgbabc 于 2017-7-19 16:31 编辑

Gorgon_Meducer 发表于 2017-7-19 16:18
不能!.c 要用谁,自己直接include。因为当前模块的app_cfg.h要被当前模块的接口头文件包含的。
这样的话 ...

明白了,谢谢回复!
页: [1]
查看完整版本: 这个 app_cfg.h 文件有什么益处?