C语言程序翻译为机器语言经历的过程
将C语言程序编译成为在机器上能够运行的可执行程序需要经历预处理、编译、汇编、链接四个阶段。如下图所示。
- 预处理阶段是将程序中包含的头文件内容插入到源代码中,并删除掉注释等与程序运行无关的内容。一般为.i文件。
- 编译器将预处理阶段得到的文件翻译成汇编语言程序。一般为.s文件。
- 汇编器将汇编语言程序翻译为机器语言程序。
- 链接器将系统标准库中的文件合并到翻译的机器语言程序中,生成可执行文件。
如果只想进行其中某一步而不进行后面的步骤,可以在执行gcc命令时加上如下参数: