linux下用gcc如何生成预处理汇编等文件
Posted singularity
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下用gcc如何生成预处理汇编等文件相关的知识,希望对你有一定的参考价值。
【gcc -E test.c -o test.i------>预处理文件生成.i 文件。】
-
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
以上是关于linux下用gcc如何生成预处理汇编等文件的主要内容,如果未能解决你的问题,请参考以下文章