差分
バイトコード
,編集の要約なし
'''バイトコード'''とは、([[英語]]:byte code)とは、[[ネイティブコード]]および[[中間コード]]の実装形式のひとつで、すべての[[オペランドオペコード]](命令)を固定長の[[バイト]]数(主に1バイト固定長)で表現する形式のものをいう。数(主に1バイト固定長)で表現する形式のものをいう。固定長の特定バイト数で区切るのでバイトコードという名前だという。
また、[[Java]]の人気によりバイトコードは[[中間コード]]とイコールと思われているが、[[ARMプロセッサー]]で使われている[[ARMコード]]のように[[ネイティブコード]]の場合もある。 == バイトコードの利点 ==バイトコードは[[Smalltalkオペコード]]が[[固定長]]であるため、命令の[[パース]]時に命令の長さを調べたりすることによる分岐を減らせ、バイトコードを[[ネイティブコード]]に変換し実行する[[インタプリタ]]や[[JavaJITコンパイラ]]の実装をシンプルにできるなどのメリットがあり、[[ARM]]のような[[半導体]]では[[電子回路]]を簡略化できるという。例えるならば[[CPU]]でいう[[RISC]]の概念に近い。 == 主なバイトコード形式 ==* [[Javaバイトコード]]で使われている。とくに- [[JavaVM]]の人気に押されるかたちでで使われている8ビット表現の命令セット。* [[JavaバイトコードThumbコード]]が爆発的に普及したことで、バイトコードと- ARMプロセッサの16ビット表現の命令セット。* [[JavaバイトコードARMコード]]を同一視する人も増えている。ただし、そんな細かいことを気にしても仕方がないので気にしてはならない。 - ARMプロセッサの32ビット表現の命令セット。
== 関連項目 ==
* [[Javaバイトコード]] - [[SPARC]]の命令セットに近い。同じ会社だから当然と言えば当然。
* [[中間コード]]
* [[マネージドコード]]