差分

ナビゲーションに移動 検索に移動

バイトコード

1,711 バイト追加, 2012年4月25日 (水) 03:52
ページの作成:「'''バイトコード'''とは、中間コードの実装形式のひとつで、すべてのオペランド(命令)を固定長のバイト数(主に...」
'''バイトコード'''とは、[[中間コード]]の実装形式のひとつで、すべての[[オペランド]](命令)を固定長の[[バイト]]数(主に1バイト固定長)で表現する形式のものをいう。

バイトコードは[[オペコード]]が[[固定長]]であるため、命令の[[パース]]時に命令の長さを調べたりすることによる分岐を減らせ、バイトコードを[[ネイティブコード]]に変換し実行する[[インタプリタ]]や[[JITコンパイラ]]の実装をシンプルにできるなどのメリットがある。例えるならば[[CPU]]でいう[[RISC]]の概念に近い。

近年では[[オペコード]]が[[固定長]]でない[[中間コード]]形式についてもバイトコードと呼び、[[中間コード]]とバイトコードをイコールとする人も増えているが、正確にはバイトコードではない。たとえば[[.NET Framework]]で用いられる[[マネージドコード]]の[[オペコード]]は[[可変長]]であり、バイトコードではない。ただし、そんな細かいことを気にしても仕方がないので気にしてはならない。

バイトコードは[[Smalltalk]]や[[Java]]で使われている。とくに[[Java]]の人気に押されるかたちで[[Javaバイトコード]]が爆発的に普及したことで、バイトコードと[[Javaバイトコード]]を同一視する人も増えている。ただし、そんな細かいことを気にしても仕方がないので気にしてはならない。

== 関連項目 ==
* [[中間コード]]
* [[マネージドコード]]

== 参考文献 ==
<references/>

== 外部リンク ==

{{stub}}
匿名利用者

案内メニュー