GCC -E输出含义

时间:2016-10-17 02:30:14

标签: c-preprocessor

看看这个例子:

#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在最后一行#)。

0 个答案:

没有答案