编译器的工作一般分为哪几个阶段?

发布时间 2023-08-09 18:32:35作者: 潘阳399

gcc编译器对源文件文件的编译分为四个阶段:预处理编译汇编链接。

预处理(-e):在这个阶段主要做了三件事:展开头文件、宏替换、去掉注释行,这个阶段需要gcc调用预处理器来完成,最重得到的还是源文件,文本格式。

编译(-s):这个阶段需要gcc编译器调用编译器对文件进行编译,最终得到一个汇编文件。

汇编(-c):这个阶段需要gcc调用汇编器对文件进行汇编,最终得到一个二进制文件。

链接(-o):这个阶段需要gcc调用连接器对程序需要调用的库进行链接,最终得到一个可执行的二进制文件。

C语言源文件(预处理) ---------> 预处理后的文件(编译) --------------> 汇编文件(汇编) ----------->二进制目标文件(链接) --------->可执行程序。