3
我被检查由GCC生成的预处理输出,我看到在我生成使用-save-temps
标志.i
文件很多这样的:调试信息
# 8 "/usr/include/i386-linux-gnu/gnu/stubs.h" 2 3 4
之前什么号码以及stubs.h
的绝对路径是什么意思?它似乎是由预处理器插入的某种调试信息,并允许编译器发出引用此信息的错误消息。这些行不影响程序本身,但每个数字具体是什么?
我被检查由GCC生成的预处理输出,我看到在我生成使用-save-temps
标志.i
文件很多这样的:调试信息
# 8 "/usr/include/i386-linux-gnu/gnu/stubs.h" 2 3 4
之前什么号码以及stubs.h
的绝对路径是什么意思?它似乎是由预处理器插入的某种调试信息,并允许编译器发出引用此信息的错误消息。这些行不影响程序本身,但每个数字具体是什么?
基于the documentation之前的文件名是行号。在文件名后的数字是一个标志和含义如下:
1
表示新文件的开始。2
表示返回到文件(包含另一个文件后)。3
表示以下文本来自系统头文件,因此应该抑制某些警告。4
表示应将以下文本视为隐藏在隐式外部“C”块中。
和它表示什么行号,因为我看到许多文件包含在相同的行号......我错过了一些明显的东西在这里? – ArunMKumar 2013-05-04 13:02:11
'#1“/usr/include/stdio.h”1 3 4','#28“/usr/include/stdio.h”3 4','#1“/usr/include/features.h”1 3 4','#324“/usr/include/features.h”3 4' – ArunMKumar 2013-05-04 13:02:29
@ArunKumar根据你的标志,这只是表明一个新的文件被打开 – 2013-05-04 14:08:58