首先我们要明确在 C++ 中编译过程分为四个阶段:预处理、编译、汇编、链接:
预处理阶段主要负责宏定义的替换、条件编译、将 include 的头文件展开到正文等;
编译阶段负责将源代码转为汇编代码;
汇编阶段负责将汇编代码转为可重定位的目标二进制文件;
链接阶段负责将所有的目标文件(二进制目标文件、库文件等)连接起来,进行符号解析和重定位,最后生成可执行文件。