バイトコードバイトコードとオペコードオペレーションコードとは何ですか?
違いは何ですか?
すべてのインタープリター言語には同様のコードがありますか?
私の理解は次のとおりです:
バイトコードとオペコードは両方とも中間コードです
インタープリタ型言語はソース コードを中間コードに変換し、仮想マシン (jvm、zend など) によって解釈されて実行されます。
走同樣的路,發(fā)現(xiàn)不同的人生
opcodeはオペレーションコードです。
Javaで使われるバイトコードもオペコードの一種です。各オペレーションコードが1バイトを使用するため、バイトコードと呼ばれます(実際にはマルチバイトのものもあります)。
各バイトは命令を表すために使用され、理論的には 256 個のオペコードが存在する可能性があります。
よく見かけるiadd
(將兩個整數(shù)相加)、dadd
(2つの浮動小數(shù)點數(shù)の加算)はバイトコードではなく、ニーモニックです。
多くの通訳言語には 同様のコードがありません。
バイトコードとオペコードはどちらも中間コードであり、比較することはできません。Java は中間コードのバイトコードにコンパイルされ、その後 jvm で実行されます。PHP は中間コードのオペコードにコンパイルされ、ZendVM で実行されます。