クロスコンパイラ 【cross compiler】 クロスコンパイラー
概要
クロスコンパイラ(cross compiler)とは、プログラムのソースコードをもとに、開発環境とは異なる機種やオペレーティングシステム(OS)向けの実行可能プログラム(オブジェクトコード)を生成する変換プログラムのこと。開発環境と実行環境が異なるソフトウェア開発(クロス開発)で用いられる。一般的なソフトウェア開発では、プログラミング言語で書かれたソースコードを、コンピュータで実行可能な機械語のプログラムであるオブジェクトコードに変換して実行可能形式のプログラムを生成する。その際に用いられる変換プログラムを「コンパイラ」(compiler)という。
パソコン向けのプログラムをパソコンで開発する場合など、開発環境と実行環境が一致している場合は開発環境向けのコンパイラを使えば良いが、開発環境と実行環境が一致しない場合は、実行環境向けのプログラムを生成する特殊なコンパイラを用いる。これをクロスコンパイラという。
クロスコンパイラが生成した実行プログラムは開発環境上で直接実行することはできないため、実行環境となるハードウェアに転送して実行したり、開発環境上で実行環境を模したエミュレータや仮想マシン(VM)を用意して、その上で実行する。
クロスコンパイラはターゲットとなる実行環境がソフトウェア開発に適していない場合や、ハードウェア開発が完了する前にソフトウェア開発を開始したい場合などに用いられる。例えば、スマートフォンやタブレット端末、家庭用ゲーム機などで動作するソフトウェアをパソコン上で開発する場合などである。
(2023.8.22更新)