linux下用gcc如何生成预处理、汇编等文件
1、c语言程序生成过程
C语言程序的生成过程可以简单的分为:编辑、预处理、编译、汇编、链接五个阶断。
下面所有的操作以hello world程序为例,源码文件命名为t.c,源码内容如下:
#include <stdio.h>
int main()
{
printf("hello world\n");
return 0;
}

2、预处理阶断
预处理阶断是对c源码中的预处理代码进行处理。
gcc -E -o t.i t.c

3、编译阶断
编译阶断是将c源码处理为汇编代码。
gcc -S -o t.s t.i
或者
gcc -S -o t.s t.c

4、汇编阶断
汇编阶断是将汇编代码处理为二进制代码。
gcc -c -o t.o t.s
或者
gcc -c -o t.o t.c

5、链接阶断
链接阶断将二进制代码打包成一个操作系统可以识别的可执行文件格式,linux是elf格式,windows上是pe格式。
gcc -o t t.o
或者
gcc -o t t.c

6、运行阶断
运行阶断,有操作系统的可执行文件加载器负责加载并执行程序。
./t

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:148
阅读量:90
阅读量:61
阅读量:66
阅读量:45