这是简单C程序的预处理器输出的前几行。他们的意思是什么?
# 1 "test.c"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 325 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "test.c" 2
# 1 "some_path/stdio.h" 1 3 4
# 64 "some_path/stdio.h" 3 4
这是我的计划:
#include <stdio.h>
int main()
{
printf("Hello, World!\n");
return 0;
}
答案 0 :(得分:0)
# linenum filename flags
这些被称为线性标记。它们根据需要插入到输出中(但从不在字符串或字符常量内)。它们意味着以下行起源于line linenum的文件filename。 filename永远不会包含任何非打印字符;它们被八进制转义序列取代。
文件名后出现零个或多个标志,即“1”,“2”,“3”或“4”。如果有多个标志,则空格将它们分开。这是标志的意思:
extern "C"
块中。 来源:GCC Manual