我正在检查 GCC 生成的预处理输出,我在使用 -save-temps
标志生成的 .i
文件中看到了很多这样的输出:
# 8 "/usr/include/i386-linux-gnu/gnu/stubs.h" 2 3 4
stubs.h
绝对路径前后的数字是什么意思?它似乎是由预处理器插入的某种调试信息,并允许编译器发出引用此信息的错误消息。这些行不会影响程序本身,但每个数字的具体用途是什么?
最佳答案
基于 the documentation文件名之前 的数字是行号。文件名后的数字是一个标志,含义如下:
1
表示新文件的开始。2
表示返回到一个文件(包含另一个文件之后)。3
表示以下文本来自系统头文件,因此应抑制某些警告。4
表示以下文本应被视为包含在隐式 extern "C" block 中。
关于compilation - GCC 预处理器输出中的调试信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16377386/