搜尋

首頁  >  問答  >  主體

php - bytecode 和 opcode 是什麼?有什麼區別?

Q1

bytecode 字節碼,和 opcode 操作碼各是什麼?

Q2

有什麼差別?

Q3

解釋型語言都有類似的碼嗎?

我的理解是:

怪我咯怪我咯2730 天前671

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-06-05 11:09:43

    opcode 就是 Operation Code。

    在 java 中使用的 bytecode 也是一種 opcode,因為每個操作碼都是用一個字節,所以叫字節碼(其實也有多字節的)。

    每一個位元組用來表示一個指令,理論上可以有 256 個操作碼。

    我們平常常看到的 iadd(將兩個整數相加)、dadd(將兩個浮點數相加)並不是字節碼,而是助記符。

    很多解釋型語言都沒有類似的碼。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-05 11:09:43

    bytecode和opcode都是一種中間碼,不存在可比性,java編譯成中間碼bytecode然後在jvm中執行,,php編譯成中間碼opcode,在ZendVM中執行。

    回覆
    0
  • 取消回覆