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

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
8行目: 8行目:
  
 
== 関連項目 ==
 
== 関連項目 ==
* [[Javaバイトコード]]
+
* [[Javaバイトコード]] - [[SPARC]]の命令セットに近い。同じ会社だから当然と言えば当然。
 
* [[中間コード]]
 
* [[中間コード]]
 
* [[マネージドコード]]
 
* [[マネージドコード]]

2012年5月16日 (水) 10:20時点における版

バイトコード(byte code)とは、中間コードの実装形式のひとつで、すべてのオペコード(命令)を固定長のバイト数(主に1バイト固定長)で表現する形式のものをいう。固定長の特定バイト数で区切るのでバイトコードという名前だという。

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

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

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

関連項目

参考文献


外部リンク