编译1:程序编译流程
一个程序从源文件(.c文件)到成为可以写入我们的存储设备(ROM、Flash),CPU可以识别和运行的二进制机器指令,需要经过哪些步骤呢?
从编译上看,程序的编译流程如下:
预处理–>编译–>汇编–>链接
从语言上看,程序语言变化如下:
高级语言(C语言)–>汇编语言–>机器语言(二进制)
从文件上看,文件变化过程如下:
.c源文件–>.i文件–>.s汇编文件–>.o目标文件–>.out可执行文件
从工具上看,不同阶段使用的工具如下:
预处理器–>编译器–>汇编器–>链接器
编译过程如下:
-
预处理阶段,预处理器先将所有.c源文件预处理变为.i文件
-
编译阶段,编译器将预处理后的.i文件编译为.s汇编文件
-
汇编阶段,汇编器将.s汇编文件编译为.o目标文件
-
链接阶段,链接器将所有的.o文件链接成一个.out可执行文件