标准的 C 编译过程

可执行 C++程序代码通常由编译器生成。

一个编译器是从一种编程语言转换代码为另一种形式,它是(多)用于在计算机可直接执行的程序。使用编译器来转换代码称为编译。

C++从其语言 C 继承了其编译过程的形式。下面是一个列表,显示了 C++中编译的四个主要步骤:

  1. C++预处理器将任何包含的头文件的内容复制到源代码文件中,生成宏代码,并将使用#define 定义的符号常量替换为它们的值。
  2. 由 C++预处理器生成的扩展源代码文件被编译为适合该平台的汇编语言。
  3. 由编译器生成的汇编程序代码被组装成适合该平台的目标代码。
  4. 汇编程序生成的目标代码文件与用于生成可执行文件的任何库函数的目标代码文件链接在一起。
  • 注意:某些已编译的代码链接在一起,但不能创建最终程序。通常,这种链接代码也可以打包成其他程序可以使用的格式。这个“打包的,可用的代码包”是 C++程序员所称的库。

许多 C++编译器也可以合并或取消合并编译过程的某些部分,以方便或进行其他分析。许多 C++程序员将使用不同的工具,但是当他们参与程序的生成时,所有这些工具通常都会遵循这个通用的过程。

下面的链接扩展了这个讨论,并提供了一个很好的图形来帮助。 [1]: http//faculty.cs.niu.edu/~mcmahon/CS241/Notes/compile.html