Portable Executable
出典: フリー百科事典『ウィキペディア(Wikipedia)』
| 拡張子 | .exe、.obj、.dll、.sys |
|---|---|
| マジックナンバー | MZ 0x00(×10) PE 0x00 0x00 |
| 開発者 | マイクロソフト |
| 種別 | バイナリ、実行可能、オブジェクト、共有ライブラリ |
| 派生元 | COFF |
Portable Executable (PE) は、32ビット及び64ビット版のMicrosoft Windows上で使用される実行ファイルのファイルフォーマットを指す。
EXEフォーマットとの互換性のため、MS-DOS上で実行すると「This program cannot be run in DOS mode.」のようにDOSで実行されない旨が表示され、プログラムが終了するなどのMS-DOSプログラムが先頭に付く。その後ろに、PE固有の識別子およびCOFFに似たデータ構造があり、MS-DOSヘッダによってそのオフセットが指されている。また、さまざまなCPUアーキテクチャに対応するため、内部に判別用のフラグを持つ。実行時にDLLというファンクション群を動的にリンクし、コンポーネントレベルでのバグフィックス、互換性の維持が行われるようになっている。また、リソース領域にアイコン等を格納でき、GUI上で表示された場合アイコンがグラフィカルに表示され、ソフトウェア判別を容易にできる。
主な対応CPUアーキテクチャ[編集]
- インテル i386 : 俗にx86と呼ばれるアーキテクチャ。i386以降のインテル及び互換CPU上にて、一般的なWindows及びx64版Windowsにて実行可能。Xboxでも標準実行形式として採用されている可能性がある。これはXboxがx86対応CPU及びWindows 2000のサブセットで構成されていることから推測できる。
- Intel 64/AMD64 : 64ビット対応のx86命令。Windows XP x64 Edition及びWindows Vistaにて実行可能。
- Alpha : Alphaプロセッサ上で動作するWindows NTでのみ実行可能。Alpha版Windowsは既に開発が終了している。
- PowerPC : PowerPC版Windows NTでのみ実行可能。PowerPC版Windowsは既に開発が終了しているが、Xbox 360でも同形式が採用されている可能性が高い。これは同機がカスタムPowerPC及びWindows XPのサブセットで構成されていることから推測できる。
- ARM、MIPS、SH-3/4 : Windows CEのサポートするアーキテクチャ。