tag para audioshell windows visual-studio visual-c++ configuration 32bit-64bit

audioshell tag editor para windows 10 64 bits



¿Debo definir tanto_WIN32 como_WIN64 en una compilación de 64 bits? (4)

_WIN32 : Definido para aplicaciones para Win32 y Win64. Siempre definido.

_WIN64 : Definido para aplicaciones para Win64.

Más detalle: Macros predefinidas .

En pocas palabras, WIN32 / _WIN32 se usa para saber si está usando Windows (para la aplicación de sistema de cruce), mientras que _WIN64 se usa para indicar que el entorno de compilación es x86 o x64.

Si desea saber si su aplicación se está ejecutando bajo Windows x64, debe usar la API de Windows IsWow64Process .

Cuando agregamos una configuración de 64 bits de un proyecto de 32 bits que ya existía, Visual Studio copia las configuraciones de 32 bits de forma predeterminada. VS incluso copias _WIN32
Todos mis proyectos de 64 bits definen también _WIN32 ahora, a pesar de que (los PE de 64 bits) nunca pueden ejecutarse en Windows de 32 bits. Es muy incomodo para mi.

Me gustaría eliminar el _WIN32 si no tiene ningún problema. No estoy seguro de eso.
¿Está bien si elimino la definición _WIN32 ?


La documentación para las macros predefinidas dice:

_WIN32: Definido para aplicaciones para Win32 y Win64. Siempre definido.

_WIN64: Definido para aplicaciones para Win64.

Por lo tanto, no solo se debe _WIN32 , sino que no causa ningún problema en las aplicaciones de 64 bits. Por lo tanto, te sugiero que no lo quites.


Nunca debes definir ninguno de ellos.

El compilador los definirá según corresponda.


_WIN32 no significa lo que crees que hace. Significa "Estoy usando la API de Windows". El postfix 32 se agregó en los días de Windows NT 3.1 para diferenciarlo de la API de 16 bits que se usó en la versión 3 de Windows. Este término ha caído en desuso debido al problema del bitness. Puedes ver esto en .com, la etiqueta [win32] te lleva a [winapi].

No lo elimines, estás usando la API de Windows.