位元組碼(英語: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.)