我正在开展的项目最近通过打开所有最严格的GCC警告并迭代直到编译来清理代码。现在,例如,如果我声明一个变量并且不使用它,则编译失败。
在我最近的开发任务之后,我发现有一个头文件包含在某处,现在是不必要的。有没有什么好方法可以找到其他这样的头文件(并以这种方式减少依赖性),除了尝试删除头文件并查看是否有任何中断?
我在Linux上使用GCC 4.3.2。
答案 0 :(得分:3)
不,如果不需要标头,就无法让gcc失败。包含的标题几乎可以包含任何内容,因此假设包含它们的人有充分的理由这样做。想象一下以下有些病态的案例:
int some_function(int x) {
#include "function_body.h"
return x;
}
这肯定不是好形式,但如果你删除了包含它仍会编译。因此,自动检查器可能会声明它“不必要”,即使在函数体实际存在时行为可能不同。