0%

2024-03-21-c++编译

5a3a3116a2324a4d8fb6d88072730816.png

ff7fbe5236c141299fc6f55a6561239c.png

传统的编译器通常分为三个部分,前端(FrontEnd),优化器(Optimizer)和后端(BackEnd)。在编译过程中:

  • 前端主要负责词法和语法分析,将源代码转化为抽象语法树;

  • 优化器则是在前端的基础上,对得到的中间代码进行优化,使代码更加高效;

  • 后端则是将已经优化的中间代码转化为针对各自平台的机器代码。

  • 预编译

    1
    gcc -E main.cpp > 1.txt
  • 处理宏

image.png
image.png

  • 引入include

image.png
image.png

  • 汇编

    1
    gcc  -lstdc++ -S main.cpp

    生成了汇编代码

  • 编译

    1
    gcc  -lstdc++ -c main.cpp
  • 生成可执行文件

    1
    gcc  -lstdc++ main.cpp