c语言编译过程
总的来说c语言编译分为四步:
- 预处理
- 编译
- 汇编
- 链接
1.预处理
预处理是将所有的#include头文件以及宏定义替换成其真正的内容,预处理后,文件体积会变大很多。
gcc -E zst.c -o szj
-E为gcc命令 指的是只编译预处理就会停止
如图所示 文件的大小
2.编译
把预处理之后的c语言程序编译生成与机器相关的as汇编语言代码
gcc -S zst.c -o zst.s
如图
3.汇编
将上操作的汇编代码,转换成机器码,这一步产生的文件叫目标文件
gcc zst.s -o zst.o
4.链接
链接过程将多个目标文件以及所需要的库文件链接形成最终的可执行文件
ld -o zst.out zst.o.....
总结
总的来说,编译过程要经历 预处理 编译 汇编 链接 四个过程,虽然十分的复杂,但是我们仍是能通过简单的
gcc zst.c -o szj
或者
gcc zst.c
实现c程序的编译