リンカ・ローダと実行形式
主なOSで使われる実行ファイルの形式の組み合わせとして正しいものはどれか。
- ALinuxはPE、WindowsはMach-O、macOSはELF
- BLinuxはELF、WindowsはPE、macOSはMach-O
- CどのOSもELFを使う
答えと解説を見る
正解:B. LinuxはELF、WindowsはPE、macOSはMach-O
実行ファイルの形式はOSごとに決まっています。LinuxやBSD、多くの組込み機器はELF、Windowsは.exeや.dllのPE(Portable Executable)、macOSやiOSはMach-Oを使います。中身の考え方(コード・データの領域、シンボル、再配置、動的リンクの情報)は似ていますが、形式が違うので、同じCPU向けでもOSが違えば実行ファイルはそのままでは動きません。
- A. 組み合わせが入れ替わっています。
- B. 正しい。OSごとに形式が違います。
- C. WindowsとmacOSは別の形式です。