面试问题之C++语言:从源文件到可执行文件过程

1、预处理:

  预处理过程主要处理那些源文件中的以"#"开始的预编译指令。包括:包含头文件、宏替换、条件编译而不进行语法检查。

2、编译:

  编译过程就是把预处理的文件进行一系列的词法分析,语法分析,语义分析以及优化后产生相应的汇编代码文件,编译器将检查一些语法错误。

3、汇编:

  将中间代码转换成二进制目标机器代码。

4、链接:

  把每个源代码模块独立地编译,然后按照将它们“组装”起来,这个组装模块的过程就是链接。链接的主要内容就是把各个模块之间相互引用的部分都处理好,使得各个模块之间能够正确的衔接。