cpp的编译过程

发布时间 2023-12-10 21:35:27作者: ponder776

C++程序的编译过程通常分为四个主要步骤:

  1. 预处理(Preprocessing):这个阶段主要处理源代码文件中的以“#”开头的预编译指令4。例如,对宏进行展开,对include的文件进行展开,处理条件编译选项判断,清理注释等。预处理后生成的文件通常以.i.ii结尾2

  2. 编译(Compilation):编译阶段使用预处理的输出结果作为输入,生成平台相关的汇编代码 (assembly code)24。编译的工作是检查词法和语法规则2。编译后生成的文件通常以.s结尾2

  3. 汇编(Assemble):汇编阶段将上一步的汇编代码转换成二进制的机器码,称为object code。产生的文件叫做目标文件,是二进制格式,文件通常以.o.obj结尾2

  4. 链接(Linking):链接过程将多个目标文件以及所需的库文件 (.so等)链接成最终的可执行文件 (executable file)。这是生成可执行文件的最后一步2