字节码(英语:Bytecode)通常指的是已经经过编译,但与特定机器代码无关,需要解释器转译后才能成为机器代码中间代码。字节码通常不像源码一样可以让人阅读,而是编码后的数值常量、引用、指令等构成的序列。[1]

字节码主要为了实现特定软件运行和软件环境、与硬件环境无关。字节码的实现方式是通过编译器虚拟机。编译器将源码编译成字节码,特定平台上的虚拟机将字节码转译为可以直接执行的指令。字节码的典型应用为Java bytecode[2] [3]

参见

参考资料

  1. ^ Dynamic Machine Code Generation. Google Inc. [2023-02-21]. (原始内容存档于2017-03-05). 
  2. ^ The Implementation of Lua 5.0. [2024-07-13]. (原始内容存档于2020-07-30).  (NB. This involves a register-based virtual machine.)
  3. ^ Dalvik VM. [2012-10-29]. (原始内容存档于2013-05-18).  (NB. This VM is register based.)