您好,欢迎进入某某沙盘有限公司官网!

咨询热线:

020-88888888

编译器的作用和构成 (基础知识版)

发布时间:2024-07-22 08:00人气:

如题 本文说一下 编译器的作用和基本的构成

都是一些基础的概念 便于理解, 了解下没有坏处 挺好的
主要的还是高深的编译方面的知识 我也不懂啊 hhhhhh…

编译器是干啥的?

用大白话讲 就是 把我们写的高级语言翻译为低级的语言
因为电脑就认识0和1
我们程序员不可能写这鸟玩意吧, 晦涩难懂
那么我们可以理解为 编译器 就是个 “翻译”
例如 把 c / c++ / java 等 翻译为 汇编 / 各个平台的机器码

编译器的基本构成

颗粒度高一点就是两部分
1.前端
2.后端

在这里插入图片描述

展开一点

1.前端

在这里插入图片描述
把我们c++代码 一行一行拆开 一个单词单词拆开
所以我们大部分的报错 都是前端编译器就给拦截了
比如少括号, 语法糖没过等等

那么前端的终极目标就是生成中间的代码
为啥要中间代码呢?

就可以理解为一种协议 各种语言各种平台 不可能每个编译器都做适配吧
举个例子就是 不管你什么样的汽车,奔驰宝马 还是夏利奥拓 都是要加油 就那么几种 #92 #95 #98 都是转为发动机需要的燃料嘛

2.后端

看完上面就应该比较明确了,后端的输入就是中间代码
输出就是汇编/各种平台的机器码

不同的cpu架构,需要的目标代码也不同,
在这里插入图片描述

总结:

基础的流程应该就是下图
在这里插入图片描述


020-88888888

平台注册入口