2012-09-27 31 views
4

可能重复:
gcc preprocessor output如何解释G ++生成的.i文件

出于某种原因,我需要调查由g ++预处理程序,产生了一些。我的文件,我看到这样的代码这样的:

#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中,并且编译很好。然后我们决定将提升转移到我们的源代码控制中以便于升级,并且出现警告(视为错误)。所以在调查和CrazyCasta给出的链接的细节之后,问题实际上是这样的:当boost在/ usr/local/include中时,它被当作系统头文件,所以gcc压制了一些警告;当我们将助推器移出时,gcc并不能容忍它。

基本上,只需忽略或抑制手动警告。

回答

3

您的回答可以发现here

基本上它重新映射输入的行号/文件名空间,以便编译器知道行来自哪里。第一个数字是源代码来源的行号,之后的文件名是它来自的文件。此后的数字是标志。

+0

非常感谢,解决了我的问题:) –