C代码编译过程

C代码编译过程如下图:

 

 

1、预处理 预处理器(CPP)根据源程序中以字符“#”开头的命令,修改源程序,得到另一个源程序,常以.i作为文件扩展名。修改主要包括#include、#define和条件编译三个方面

 1 gcc -o main.i -E main.c 

2、 编译 编译器(CCL)将经过预处理器处理得到的文本文件main.i翻译成main.s,其中包含了汇编语言程序,汇编语言程序以一种标准的文本格式确切描述一条低级机器语言指令

 1 gcc -S main.i 

3、汇编 汇编器(AS)将hello.s和main.s翻译成机器语言指令,并打包成可重定位目标程序,一般以.o为文件扩展名。可重定位目标程序是二进制文件,它的字节编码是机器语言指令而不是字符

 1 gcc -c main.s 

4、链接 链接程序(LD)将main.o和hello.o以及一些其他必要的目标文件组合起来,创建可执行目标文件

 1 gcc -o main main.o 

5、运行

 1 ./main

示例:

 

 

 

posted @ 2022-03-02 19:48  yangrourou  阅读(495)  评论(0编辑  收藏  举报