对于以下输入的C程序,使用gcc -E sample.c -o sample.i
:
#include <stdio.h>
int main() {
printf("hello world\n");
return 0;
}
sample.i
文件输出以下内容,前面有若干个#
符号,我想知道这一行具体表示什么意思。
# 1 "sample.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "sample.c"
# 1 "/usr/include/stdio.h" 1 3 4
# 27 "/usr/include/stdio.h" 3 4
...
后跟数字会导致指令无效。这些特别指出了不同宏定义的位置。
- rtpax行号 文件名 标志
- Sourav Ghosh