【Linux下gcc编译的四个过程】
添加行号和文件标识,如#9 “usart.c” 9,以便于编译时编译器产生调试用的行号信息及用于编译时产生编译错误或警告时能够显示行号信息;处理#include预编译指令,将被包含的文件插入到该预编译指令的位置。该过程递归进行,及被包含的文件可能还包含其他文件。,也就是可以机器可以执行的二进制程序。会生成 .o 文件。将所有的#define删除,并且展开所有的宏定义;处理所有条件编译指令,如#if,#ifdef等;编译器会将预处理完的 .i 文件进行一些列的。后生成对应的汇编代码。
原创
2023-07-18 17:30:11 ·
100 阅读 ·
0 评论