标签:
使用gcc编译程序时,编译过程可以细分为四个阶段:
如图: 
示例:
vi hello.c
#include <stdio.h>
int main(){
        printf("hello world");
        return 0;
}
$ ls 
hello.c
$ gcc -E hello.c -o hello.i  #预处理,把预处理的结果输出为hello.i 文件
$ ls 
hello.c  hello.i
$ gcc -S hello.i    #编译,把预处理的结果编译为汇编文件
$ ls 
hello.c  hello.i  hello.s
$ gcc -c hello.s   #汇编,把汇编文件转换成目标文件
$ ls 
hello.c  hello.i  hello.o  hello.s
$ gcc hello.o -o hello  #链接,把目标文件连接成一个名为hello的二进制可执行文件
$ ls 
hello  hello.c  hello.i  hello.o  hello.s
标签:
原文地址:http://blog.csdn.net/u011641885/article/details/45486119