3

我正在检查 GCC 生成的预处理输出,我在使用标志.i生成的文件中看到了很多这些输出:-save-temps

# 8 "/usr/include/i386-linux-gnu/gnu/stubs.h" 2 3 4

绝对路径前后的数字stubs.h是什么意思?它似乎是由预处理器插入的某种调试信息,并允许编译器发出引用此信息的错误消息。这些行不影响程序本身,但是每个数字具体是做什么用的?

4

1 回答 1

5

根据文档,文件名的数字是行号。文件名后面的数字是一个标志,含义如下:

  • 1表示新文件的开始。
  • 2表示返回到一个文件(在包含另一个文件之后)。
  • 3 表示以下文本来自系统头文件,因此应禁止显示某些警告。
  • 4表示应将以下文本视为包含在隐式 extern "C" 块中。
于 2013-05-04T12:51:06.373 回答