3

我的老师告诉我,中间代码对于所有系统都是通用的,但是编译器的一个组件然后根据代码运行的系统/环境使其不同。有人可以解释一下吗。

4

1 回答 1

7

通常,编译器分为两部分:进行解析和生成中间代码的前端。然后是一个后端,它接受中间代码并生成程序集或机器代码。

前端可以是通用的,但后端是为特定目标构建的。所以编译器不必“识别”主机,只知道目标。

注意host和target可能是不同的系统,用于交叉编译

于 2017-07-05T07:04:18.433 回答