c - 包含多个头文件的方法

标签 c

最近我遇到了以这种方式处理头文件的代码。 会有一个名为 say global.h 的头文件 此 global.h 将包含一些其他头文件,例如,

#include "settings.h"
#include "math.h"
#include "somelibrary.h"
#include "someOtherlibrary.h"
...

现在,每当某些文件想要包含 somelibrary.h 时,而不是编写 #include somelibrary.h 它只会包含 global.h。 所以项目中的每个源文件只有:#include "global.h"

这是避免在每个源文件中编写许多包含的常用方法吗?还有什么其他好处

附言。额外:如果有人能解释为什么这有效,那就太好了

最佳答案

唯一的好处是易于包含。

缺点是每次更改头文件时,都必须重新编译所有内容。对于任何更大的项目,这都是一件大事。

这也让删除或更改现有模块变得很痛苦,因为您无法通过简单搜索特定包含来大致了解它的使用位置。

只是不要这样做。

编辑:

澄清一下:如果需要执行 X,可以将标题分组为一个。但是我在实践中很少需要这样做;编写 #include "xxxxx.x" 并不难。

对于执行 X、Y 和 Z 的整个应用程序,在一个 header 中包含所有内容是不可行的。

关于c - 包含多个头文件的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21155499/

相关文章:

c - int 如何等于另一个返回 long int 的函数?

c++ - 如何使用小端格式在字符串中表示十六进制地址?

c - c中的内存分配问题

c - 意外错误 :"Dereferencing pointer to incomplete type"with code::blocks,c 语言

c - 为单元测试构建过程代码

c - 将 `foreign import prim` 与使用 STG 调用约定的 C 函数一起使用

c - 如何使用指向结构元素的指针?

c - 用于扫描 long unsigned int 的格式说明符

c - 错误地更新位字段

objective-c - 当 Apple 文档提到包含 ARC 属性的正确位置时,它是什么意思?