cpp的编译过程
C++程序的编译过程通常分为四个主要步骤:
-
预处理(Preprocessing):这个阶段主要处理源代码文件中的以“#”开头的预编译指令4。例如,对宏进行展开,对include的文件进行展开,处理条件编译选项判断,清理注释等。预处理后生成的文件通常以
.i
或.ii
结尾2。 -
编译(Compilation):编译阶段使用预处理的输出结果作为输入,生成平台相关的汇编代码 (assembly code)24。编译的工作是检查词法和语法规则2。编译后生成的文件通常以
.s
结尾2。 -
汇编(Assemble):汇编阶段将上一步的汇编代码转换成二进制的机器码,称为object code。产生的文件叫做目标文件,是二进制格式,文件通常以
.o
或.obj
结尾2。 -
链接(Linking):链接过程将多个目标文件以及所需的库文件 (.so等)链接成最终的可执行文件 (executable file)。这是生成可执行文件的最后一步2。