如果我不必要地包含头文件,我可以告诉GCC失败吗?

时间:2010-12-08 08:51:59

标签: gcc warnings compiler-errors

我正在开展的项目最近通过打开所有最严格的GCC警告并迭代直到编译来清理代码。现在,例如,如果我声明一个变量并且不使用它,则编译失败。

在我最近的开发任务之后,我发现有一个头文件包含在某处,现在是不必要的。有没有什么好方法可以找到其他这样的头文件(并以这种方式减少依赖性),除了尝试删除头文件并查看是否有任何中断?

我在Linux上使用GCC 4.3.2。

1 个答案:

答案 0 :(得分:3)

不,如果不需要标头,就无法让gcc失败。包含的标题几乎可以包含任何内容,因此假设包含它们的人有充分的理由这样做。想象一下以下有些病态的案例:

int some_function(int x) {
#include "function_body.h"
return x;
}

这肯定不是好形式,但如果你删除了包含它仍会编译。因此,自动检查器可能会声明它“不必要”,即使在函数体实际存在时行为可能不同。