• ベストアンサー

バイナリフォーマット

 Linux では ELF が利用され、Darwin/MacOS X は Mach-Oが利用されていることは前から存じ上げておりますが、Windows ではどんなバイナリフォーマットが利用されているのでしょうか?  また、先に挙げた ELF と Mach-O 意外にどんなバイナリフォーマットが存在しますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

Windowsでの実行ファイルの形式ということなら、PE (Protable Executive file)です。 実行ファイルではありませんが、オブジェクト形式のファイルでは coff というのが ありますね。

Theophrastos
質問者

お礼

 お早い返答どうもありがとうございます。PE(Protable Executive file)ですか。当方、MinGW や Cygwin 上でのコンパイルは今まで多く行って来ましたが、初耳です。大変参考になりました。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

#1です。typoがありましたので訂正。 protable → portable です。

Theophrastos
質問者

お礼

 わざわざ訂正ありがとうございます。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

UNIX の世界だと a.out という形式がよく使われていました. 今でも UNIX の C コンパイラが作る実行ファイルの名前は a.out がデフォルト. Linux も昔は a.out を使っていたんですが, 動的ロードに耐えられない仕様だったので ELF に移りました. FreeBSD などは動的ロードに耐えられる仕様の a.out だったんですがコンパイラなどのメンテナンスが難しいので ELF に移りました.

Theophrastos
質問者

お礼

 お早い返答どうもありがとうございます。そういえば、Linux カーネルのコンパイル時に a.out という項目がありましたね。Linux だけではなく BSD の a.out から ELF への移行の歴史的背景は大変に参考となりました。

関連するQ&A

専門家に質問してみよう