応用情報技術者試験 令和5年秋期 問18
あるコンピュータ上で,異なる命令形式のコンピュータで実行できる目的プログラムを生成する言語処理プログラムはどれか。
ア:エミュレーター イ:クロスコンパイラ
出典 IPA公開[過去問題]:https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05a_ap_am_qs.pdf
ウ:最適化コンパイラ エ:プログラムジェネレーター
エミュレーターとは
ある機器やソフトウェア、システムの動きを再現して代替として使うことができるソフトウェアのことです。例えば、ゲーム機の中に他のゲーム機を再現できるエミュレーターが組み込まれていれば本来は遊べない他のゲーム機のゲームで遊ぶことができたり、エミュレーターを使うことで他のOS環境を再現することができたりします。
クロスコンパイラとは
プログラムを動かすマシン環境(=実行環境)とプログラムを開発するマシン環境が異なるとき使う変換プログラムのことです。例えば実際にはLinuxで動かすが、開発はWindowsでする場合にクロスコンパイラを使用します。
最適化コンパイラとは
プログラムを動かす環境で処理を最も速く実行できる形式に変換することを目的としたコンパイラのことです。
プログラムジェネレーターとは
元々は発生器、生成元などの意味を持つ英単語なのですが、ITの分野では与えられた条件などに基づいてデータやプログラムコードを自動的に生成するプログラムなどを言います。ただし、分野によって微妙に意味が異なります。
プログラミングの分野では、一定の手順に従って次々に異なる値などを生成して呼び出し元に返すものを指すことがあります。
また、ネットサービスなどでは、利用者の指定したパラメータなどに基づいて文字列や画像など何らかの特定の形式のデータを生成するシステムやサービスを指すことがあります。
正解は「イ:クロスコンパイラ」となります。