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

提供:MonoBook
編集の要約なし
 
4行目: 4行目:
ながらく市場を支配した[[x86]]の[[ネイティブコード]]が可変長、[[Java]]の[[中間コード]]が固定長だったこともあり「バイトコード=Java」という図式が定着しています。
ながらく市場を支配した[[x86]]の[[ネイティブコード]]が可変長、[[Java]]の[[中間コード]]が固定長だったこともあり「バイトコード=Java」という図式が定着しています。


[[スマートフォン]]の普及で急激に普及した[[ARM]]は固定長のバイトコードですが、これだけarmだらけの世の中でも「バイトコード=Java=中間コード」という図式は変わっていません。あらゆるゲーム機は[[ファミコン]]なのと同じです。
[[スマートフォン]]の普及で急激に勢力を伸ばした[[ARM]]も固定長のバイトコードですが、これだけarmだらけの世の中でも「バイトコード=Java=中間コード」という図式は変わっていません。あらゆるゲーム機は[[ファミコン]]なのと同じです。


== バイトコードの利点 ==
== バイトコードの利点 ==

2024年9月26日 (木) 05:59時点における最新版

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

概要[編集 | ソースを編集]

ながらく市場を支配したx86ネイティブコードが可変長、Java中間コードが固定長だったこともあり「バイトコード=Java」という図式が定着しています。

スマートフォンの普及で急激に勢力を伸ばしたARMも固定長のバイトコードですが、これだけarmだらけの世の中でも「バイトコード=Java=中間コード」という図式は変わっていません。あらゆるゲーム機はファミコンなのと同じです。

バイトコードの利点[編集 | ソースを編集]

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

主なバイトコード形式[編集 | ソースを編集]

関連項目[編集 | ソースを編集]