「バイトコード」の版間の差分

削除された内容 追加された内容
Addbot (会話 | 投稿記録)
m ボット: 言語間リンク 22 件をウィキデータ上の d:q837330 に転記
CharHigh (会話 | 投稿記録)
m編集の要約なし
1行目:
'''バイトコード''' (bytecode) は、[[仮想機械|仮想マシン]]による実行のために設計された、[[実行ファイル|実行可能なプログラム]]の[[バイナリ|バイナリ表現]]である。[[ソフトウェア]]によって処理されるため、大抵は実機の[[機械語]]より抽象度の高い[[中間言語|中間コード]]になっている。[[プログラミング言語]]の実装において、特定のハードウェアへの依存度を下げ、また[[インタプリタ]]の実装を容易にするために用いられる。コンパイラの中間コードとして用いられることもある。
 
バイトコードという名前は命令の構成が[[バイト (情報)|バイト]]指向であること、すなわち命令長がバイト可変長であったり、命令中のフィールドの区切りがバイト区切りに合っているといったことから来ている。特に[[Java]]の場合[[オペコード]]が1バイトである。しかし、仮想マシンの機械語をバイトコードと呼ぶことがJavaで広く一般的になったことから、前述のようなバイト指向でなくともバイトコードと呼んでいることも多い。バイト単位でなくビット単位の場合は、ビットコードとも呼ばれる。ワード指向のためにワードコードという語を使っている例も見られる。
 
バイトコードで記述されたプログラムは通常、バイトコードインタプリタによって解釈・実行される。バイトコードインタプリタは機械語を解釈・実行するCPUとの類似性からバーチャルマシンとも呼ばれる。