我用C打印出C预处理器的输出
gcc -E a.c
输出包含许多行
# 1 "a.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "a.c"
# 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 1 3
# 19 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 3
# 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 1 3
# 31 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 3
# 32 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 3
# 20 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 2 3
我从来没有在C中看到过这种语法。有人可以解释这是什么吗?
发布于 2018-04-26 10:12:00
这些行提示调试(实际来自该行后面的代码)
# line-number "source-file" [flags]
标志含义(空格分隔):
发布于 2018-04-26 11:43:29
gcc -E -P source.c
https://stackoverflow.com/questions/-100003981
复制相似问题