创建和使用头文件介绍
在 C 项目中创建和使用头文件时,需要遵循许多准则:
-
Idemopotence
如果在翻译单元(TU)中多次包含头文件,则不应破坏构建。
-
自围堵
如果需要在头文件中声明的工具,则不必显式包含任何其他头。
-
极小
你不应该在不导致构建失败的情况下从标头中删除任何信息。
-
包括你使用的(IWYU)
C++比 C 更关注,但在 C 中也很重要。如果 TU 中的代码(称为
code.c
)直接使用标题声明的特征(称之为headerA.h
),则code.c
应该直接#include "headerA.h"
,即使 TU 包含另一个标题(称之为headerB.h
),此刻,包括headerA.h
。
偶尔,可能有足够的理由打破这些指南中的一个或多个,但是你们都应该意识到你违反了规则并且在打破它之前要意识到这样做的后果。