remarks example cref c# .net corflags

c# - example - ¿Cuál es la diferencia entre PE32+y PE32?



remarks c# (3)

Al ejecutar CorFlags en algún archivo DLL, algunos se muestran como PE32 y algunos se muestran como PE32 +. ¿Cual es la diferencia?


Aquí hay una lista más completa de las opciones de compilación de arquitectura y la salida corflags correspondiente para los campos relevantes:

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


El formato PE32 representa Portable Executable de 32 bits, mientras que PE32 + es Portable Executable de 64 bits.


La interpretación de banderas:

Cualquier CPU: PE = PE32 y 32BIT = 0

x86: PE = PE32 y 32BIT = 1

64 bits: PE = PE32 + y 32BIT = 0