Aar*_*man 23 assembly bytecode
在寻找源代码,字节码,汇编代码,机器代码,编译器,链接器,解释器,汇编器和其他所有内容的各种差异时,我只对编码和汇编代码之间的区别感到困惑.
特别是介绍这篇维基百科文章来描述CIL让我很困惑,因为它似乎可以互换地使用这两个术语(汇编代码和字节码),这让我觉得它们可能意味着完全一样.
Jue*_*gen 11
汇编代码通常意味着机器的本机语言(所谓的机器语言)的人类可读形式.另一方面,字节代码通常是一种可以由字节代码解释器解释的语言 - 因此它不是处理器本机语言.
为什么混乱呢?您无法通过这种方式比较汇编语言与字节代码.当然,字节代码也可以有一个汇编代码 - 这意味着它是一个人类可读的形式,因为"汇编语言"并不意味着它是一个真正的机器 - 但它是一种人类可读形式的某种母语 - 对于处理器,这种本机语言是机器代码 - 但您也可以拥有伪(或解释)机器的汇编代码,如字节码.
另请参见: 汇编语言
当然还有进一步的困扰 - 就像你在这里的所有讨论中都可以看到的那样 - 因为IT人员(也是我自己)往往在措辞上松懈.在谈论机器代码时经常使用"汇编语言".这当然不完全正确,因为汇编语言只是某些机器代码的人类可读形式.
Assembly code通常用于指代一旦编译为,就可以在虚拟机中Machine Code由 CPU 执行的代码。bytecode
CIL 的混乱根源可能与以下事实有关:machine codeCPU X 可以由运行在 CPU Y 上的虚拟机(例如)来解释。
请注意,可以设计虚拟机实现来解释任何机器代码和/或字节码:这取决于开发人员及其愿望(以及他们手头上的时间);-)