web-dev-qa-db-ja.com

PE32 +とPE32の違いは何ですか?

一部のDLLファイルで CorFlags を実行すると、PE32として表示されるものと、PE32 +として表示されるものがあります。違いは何ですか?

38
user496949

PE32フォーマットはPortable Executable 32ビットを表し、PE32 +はPortable Executable 64ビットフォーマットです。

フラグの解釈:

任意のCPU:PE = PE32および32BIT = 0

x86:PE = PE32および32BIT = 1

64ビット:PE = PE32 +および32BIT = 0

16
Cornel Marian

アーキテクチャビルドオプションのより完全なリストと、関連するフィールドに対応するcorflagsの出力は次のとおりです。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                      PE     32BITREQ  32BITPREF 
─────────────────────────────────────────────────
 x86                  PE32          1          0 
 AnyCPU               PE32          0          0 
 AnyCPU prefer 32bit  PE32          0          1 
 x64                  PE32+         0          0 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
8