看看这个例子:
#include <stdio.h>
int main (void)
{
printf ("Hello, world!\n"); return 0;
}
通过使用gcc -E
预处理文件,可以查看包含的头文件中的声明:
$ gcc -E hello.c
在GNU系统上,这会产生类似于以下内容的输出:
# 1 "hello.c"
# 1 "/usr/include/stdio.h" 1 3
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
extern int fprintf (FILE * __stream, const char * __format, ...) ;
extern int printf (const char * __format, ...) ;
// [ ... additional declarations ... ]
# 1 "hello.c" 2
int main (void)
{
printf ("Hello, world!\n");
return 0;
}
我想知道#行中数字的含义(即#1 ...,#1 ... 1 3和#1 ... 2在最后一行#)。