При запуске CorFlags в некотором DLL файле некоторые показывают как PE32, а некоторые - как PE32+. Какая разница?
Какая разница между PE32 + и PE32?
Ответ 1
Формат PE32 означает Portable Executable 32-bit, а PE32 + - Portable Executable 64-bit.
Ответ 2
Интерпретация флагов:
Любой процессор: PE = PE32 и 32BIT = 0
x86: PE = PE32 и 32BIT = 1
64-бит: PE = PE32 + и 32BIT = 0
Ответ 3
Здесь приведен более полный список вариантов построения архитектуры и соответствующих corflags для соответствующих полей:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PE 32BITREQ 32BITPREF
─────────────────────────────────────────────────
x86 PE32 1 0
AnyCPU PE32 0 0
AnyCPU prefer 32bit PE32 0 1
x64 PE32+ 0 0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━