标签: c++ c compiler-construction systems-programming intermediate-code
我的老师告诉我,中间代码对于所有系统都是通用的,但编译器的一个组件会根据运行代码的系统/环境使其不同。有人可以解释一下。
答案 0 :(得分:7)
通常,编译器分为两部分:执行解析的前端,以及生成中间代码的前端。然后是后端,它接受中间代码并生成程序集或机器代码。
前端可以是通用的,但后端是为特定的目标构建的。所以编译器不必识别"主持人,只知道目标。
请注意,主机和目标可能是不同的系统,用于cross compilation。