【问题标题】:What is the difference beetwen bytecode and object code? [duplicate]beetwen 字节码和目标码有什么区别? [复制]
【发布时间】:2016-05-01 03:08:30
【问题描述】:

我读过关于编译器设计算法的书(2003 年),还有另一种称为交叉编译器的变体编译器可以为多台机器生成目标代码,但在另一本书中我读到存在称为字节码的代码,它可以为多个机器生成机器也是,但它通过虚拟机上的 JIT 编译器执行。 JVM 上的 java 和 CLR 上的 .Net。

目标码和字节码一样吗?还是不同?

【问题讨论】:

    标签: java .net compiler-construction virtual-machine computer-science


    【解决方案1】:

    字节码是JVM的对象码。它们是相同的,是您问题的答案。它们在字节码是目标码的意义上是相同的。但是,目标代码不一定是字节代码。下面的链接中有更多解释,因为这是一个重复的问题

    (已编辑)哦,显然这是一个重复的问题:

    Does Java produce object code or byte code?

    【讨论】:

    • 实际上,有许多不同的“字节码”指令集。 JVM Bytecodes、CLR 和 Davlik 是最近著名的例子。维基百科列出了其中的 30 多个
    • MSIL 怎么样?我们也可以称它为字节码吗?
    • 没有。它不是为直接执行/解释而设计的。它被描述为一种汇编语言,而不是机器语言。
    • 它们很相似,但我认为你不能调用 MSIL 字节码。我对 MSIL 不是 100% 肯定的
    • 嗯谢谢 step and dark 的解释(y)
    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 2011-12-06
    • 1970-01-01
    • 2018-09-13
    • 2023-03-09
    相关资源
    最近更新 更多