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