“二进制码”和“字节码”有什么区别?

时间:2021-05-10 09:02:39

标签: python bytecode interpreter

我最近研究了“字节码”更接近机器语言,但它是一种不是机器语言的代码。为什么我们需要在转换编程语言然后是二进制代码之间采取中间步骤,我不明白它是 10101 吗?

3 个答案:

答案 0 :(得分:0)

字节码名称源自指令集,该指令集具有一字节操作码,后跟可选参数。字节码是编译后的机器码和文本之间的中间形式。它是在保存时使用编程语言创建的,为了便于解释,或通过允许在平台上运行相同类型的代码来减少硬件和操作系统的依赖性。不同的平台。字节码通常可以直接执行,也可以在虚拟机(“p-code 计算机”或解释器)上执行,也可以进一步编译成机器码以获得更好的性能。

答案 1 :(得分:0)

你可以说字节码是编译码,它的平台独立因此可以在任何地方运行,如果它是每个平台不同的机器码,这就是我们采取中间步骤将编译码转换为机器码的原因运行时

答案 2 :(得分:0)

字节码被认为是源代码和机器码之间的中间级代码。它是用高级语言编写的源代码(编程语言)的编译结果的低级代码。它针对的是虚拟机而不是特定的计算机体系结构。字节码允许单个编译的二进制文件在各种平台上以几乎本机的效率运行和执行。

机器码(二进制码)是二进制(0和1)格式,与字节码和源代码完全不同。它被认为是源代码的最底层表示。机器码是在编译或解释后获得的。它也被称为机器语言。机器代码是机器语言中的一组指令。

虚拟机将字节码转换为机器码。此外,机器码和字节码的主要区别在于处理器或CPU可以直接执行机器码。另一方面,在编译源代码之后,字节码被创建。虚拟机可以执行它。

相关问题