IR和ByteCode有什么区别?

软件工程师、主攻高级编程语言虚拟机的设计与实现

265 👍 / 7 💬

问题描述

IR的概念和ByteCode感觉有点像,他们的具体区别是什么?

Bytecode(字节码)是一种IR(中间表示)的形式。

编译器所使用的IR可以有很多种形式。就其“形状”而言,可以分为:

上面说的每种情况都还可以有许多细分的变种。

通常说的“字节码”其实就是一种线性代码,它最重要的特征是:

字节码中常常涉及的、但并非本质的一些点: