我最近正在从事的项目通过打开所有最严格的 GCC 警告并迭代直到编译为止,付出了巨大的努力来清理代码。例如,现在,如果我声明一个变量但不使用它,编译就会失败。
在我最近的开发任务之后,我发现某个地方包含了一个现在不需要的头文件。除了尝试删除头文件并查看是否有任何问题之外,是否有任何好方法可以找到其他此类头文件(并以这种方式减少依赖性)?
我在 Linux 上使用 GCC 4.3.2。
最佳答案
不,如果不需要 header ,就没有办法让 gcc 失败。包含的 header 可以包含几乎任何内容,因此假设包含它们的人有充分的理由这样做。想象一下以下有点病态的情况:
int some_function(int x) {
#include "function_body.h"
return x;
}
这当然不是好的形式,但如果删除包含,它仍然可以编译。因此,自动检查器可能会声明它“不必要”,即使当函数体实际存在时行为可能有所不同。
关于gcc - 如果我包含不必要的头文件,我可以告诉 GCC 失败吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4385642/