可能重复:
gcc 预处理器输出
出于某种原因,我需要调查一些由 g++ 预处理器生成的 .i 文件,我在其中看到如下代码:
#1 /usr/local/include/boost/python.hpp 1 3
#11 /usr/local/include/boost/python.hpp 3
我是一位经验丰富的 C++ 程序员,我知道 .i 文件是什么,问题是,我找不到关于如何解释 .i 文件中的行的详细说明。
有人可以解释上述几行的含义(尤其是文件后面的数字)或指出我可以找到有关此文件的地方吗?
谢谢,查看链接后,我的问题解决了。我想添加一些背景,以防其他人看到同样的问题。我的项目使用了严格的编译器检查,即 g++ -Wall -Werror。所有警告都被视为错误。而且我们使用的是boost.python,昨天之前,boost放在/usr/local/include下,编译就可以了。然后我们决定将 boost 移到我们的源代码控制中以便于升级,并出现警告(视为错误)。
所以经过CrazyCasta给出的链接的调查和细节,问题实际上是这样的:当boost在/usr/local/include时,它被视为系统头,所以gcc抑制了一些警告;当我们将 boost 移出时,gcc 并不能容忍它。
基本上,只需手动忽略或抑制该警告。