繁体   English   中英

GCC 预处理器输出中的调试信息

[英]Debugging information in GCC preprocessor output

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM