В чем разница между 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 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Другие вопросы по тегам