编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序翻译程序。作为一个程序员,我们应该了解它的过程,才能 更好的工作和学习。

编译过程课分为下列几个过程

wKiom1cotHXSnnxnAABfOrIOc8E656.png

编译C程序涉及很多多步骤,第一步称之为预处理阶段,C预处理器在源代码编译之前对其进行一些文本性质的操作。

  注释的删除

  插入#include指令包含的文件内容,定义和替换#include指令定义的符号以及确定代码的部分是否应该根据一些条件编译指令进行编译。

在此阶段完成后,*.c文件将变成*.i

第二步,便是编译

把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言书写的目标程序的翻译程序。

在次步骤完成后,*.i文件就变成了*.s

第三步,就是汇编

因为电脑只读的懂汇编语言或者机器语言,看不懂源代码的。

汇编代码:汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。

在次步骤完成后,*.s文件就变成了*.o

第四步,便是链接

通过调用链接器来链接程序运行需要的一大堆目标文件,以及所依赖的其它库文件,最后生成可执行文件。


还有很多值得注意的地方,想深入的同学建议大家去看看 《C语言深度剖析》