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

标签 gcc warnings compiler-errors

我最近正在从事的项目通过打开所有最严格的 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/

相关文章:

c++ - 具有非八位字节对齐子字段的 96 位长位字段

r - tryCatch在for循环中

boost - MinGW 和 Boost C++ 1.54.0 警告

c++ - 为什么我的 map 分配会导致编译器错误?

haskell - Haskell : Graham Hutton Book-(old-Yellow), Parsing (Ch-8)

c++ - 为什么具有多个嵌套循环的代码可以在 GCC 上立即完成,但在 VS 上却需要永远?

c - c 中的 x64 内联汇编以对齐指令

java - 如何在 Eclipse 中禁用包级别的警告?

c++ - 编译器 C++ 中的 fstream 错误

linux - Makefiles输出目录