我知道有几种解释型编程语言(PHP,Python,Java,Smalltalk)使用字节码作为执行代码的中间步骤。
不同语言的解释器生成的字节码形式之间是否存在差异,因为不同机器的汇编操作码之间存在差异?
另外,为了确保,字节码只能用于解释语言,对吧?
答案 0 :(得分:3)
字节码是虚拟机执行的指令的通用词,与机器语言是由真实处理器执行的指令的通用术语相同。正如有许多不同的机器指令集一样,有许多不同的字节码指令集。有些像Java字节码一样是平台的文档部分。根据定义,所有Java虚拟机都执行完全相同的字节码。其他只是一个实现细节,因版本而异。
回答你的上一个问题:不,这是不正确的。 Java不是一种解释语言;它是即时编译的。 C#很相似。字节码可以是许多不同架构的一部分。
答案 1 :(得分:1)