传统的编译器通常分为三个部分,前端(FrontEnd),优化器(Optimizer)和后端(BackEnd)。在编译过程中:
前端主要负责词法和语法分析,将源代码转化为抽象语法树;
优化器则是在前端的基础上,对得到的中间代码进行优化,使代码更加高效;
后端则是将已经优化的中间代码转化为针对各自平台的机器代码。
预编译
1
gcc -E main.cpp > 1.txt
处理宏
- 引入include
汇编
1
gcc -lstdc++ -S main.cpp
生成了汇编代码
编译
1
gcc -lstdc++ -c main.cpp
生成可执行文件
1
gcc -lstdc++ main.cpp