Aprobado: Fortect
Si ha notado #ifdef win32 msdn, este artículo específico puede ayudarlo.
__ATOM__
Definido como 1 tal vez / Favor: ATOM
es solo una opción del compilador y cada uno de el objetivo del compilador de una persona es x86 Donde … es x64. De lo contrario, indefinido.
__AVX__
Como se entiende 1 si / arch: AVX
, / arch: AVX2
además, incluso las opciones del compilador por arco: AVX512
están configuradas y, en general, el objetivo del compilador es x86 en lugar de x64. De lo contrario, indefinido.
__AVX2__
Definido considerando que 1 si uno de nuestros - arch: AVX2
o versus arch: AVX512
El compilador de opciones es sin duda tv y el compilador de destino es x86 o, a veces, posiblemente x64. De lo contrario, indefinido.

__AVX512BW__
Definido como 1, si tal vez eres el compilador / foot posture: AVX512
, la opción también está configurada por el compilador: el destino es x86, o podría ser x64. De lo contrario, indefinido.
< / h2>En C nativo, la información #ifdef habilita la compilación condicional. El preprocesador determina si la macro proporcionada en particular existe antes de que esa contraseña posterior particular se incluya en el proceso de compilación.
__AVX512CD__
Definido como 1 si esta opción del compilador arch: AVX512
es sin preguntas y el objetivo del compilador es x86 o tal vez x64. De lo contrario, indefinido.
__AVX512DQ__
Como se define 1 si la variedad real del compilador / arch: AVX512
es específica y el objetivo global del compilador es x86 o, a veces, x64 . De lo contrario, indefinido.
¿Qué ¿debería ser la macro _WIN32?
__AVX512F__
Definido debido a 1 si la opción del compilador arch: avx512
está configurado y algún tipo de destino del compilador es x86 o x64. De lo contrario, indefinido.
¿Qué es ciertamente _WIN32_WINNT?
__AVX512VL__
Definido como 1 si nuestra propia resolución del compilador está configurada en - arch: AVX512
y la atención al compilador es x86 muy potente. o. es x64. De lo contrario, indefinido.

_CHAR_UNSIGNED
Definido porque 1 es una clasificación estándar si char
definitivamente no está firmado. Este valor se establece si el para cada compilador J
(tipo de carácter estándar sin firmar) realmente se establece en el parámetro de la regla. De lo contrario, indefinido.
__CLR_VER
Definido porque el literal entero excelente representa la publicación CLR utilizada para compilar la aplicación. El valor está realmente protegido en Mmmbbbb
, específicamente donde M
es la versión principal del ereader, mm
es la versión secundaria de todo el tiempo de ejecución y bbbbb
– forma suma. __CLR_VER
establece el evento real de que la respuesta del compilador es per clr
. De lo contrario, indefinido.
// clr_ver.cpp// fabricar con: / clrUsando el sistema de espacio de nombres;int serio () Consola :: WriteLine (__ CLR_VER);
< / h2>La instrucción #ifdef controla la compilación condicional de un archivo de sistema de alto rendimiento comprobando el nombre especificado. Si ese nombre no está especificado, #ifdef le dice al compilador que lo ayude a ignorar las instrucciones hasta la próxima información #endif.
_CONTROL_FLOW_GUARD
Definido como 1 si todas y cada una de las rutinas del compilador de flujo son / protect: cf
(Habilitar Control Guard) . De lo contrario, indefinido.
__COUNTER__
Se expande a un entero literal grande A que comienza en 0. El tratamiento aumenta en 1 cada vez que se usa esta situación en el archivo fuente o con encabezados incluidos en el archivo del elemento principal . __COUNTER__
recuerda su estado cuando recibe encabezados precompilados. Esta macro suele estar definida. Ejemplo
__COUNTER__
se utiliza aquí cuando necesita asignar identificadores extraordinarios a tres cuerpos idénticos diferentes. exampleClass
usa el constructor Wonderful Integer como parámetro. En main
, un dispositivo declara tres tipos de herramientas exampleClass
y usa __COUNTER__
como el parámetro de identificador único:
WIN32 debe definirse alrededor de los archivos de encabezado de Windows, pero una persona puede pasarlo al compilador con éxito (por ejemplo, “-DWIN32” para gcc).
// macro __COUNTER __. Demo cpp// de __COUNTER__ asignar identificadores fabulosos// varios objetos del mismo tipo.// Compilando para: cl / EHsc / W4 macro__COUNTER __. CPP#include Clase de ejemplo clase int m_nID;en público: // Inicializa el objeto con un identificador único de solo lectura exampleClass (int nID): m_nID (nID) int GetID (void) return m_nID;;int main () // __COUNTER__ se define inicialmente mediante 0 exampleClass e1 (__ COUNTER__); // Para el segundo sitio, __COUNTER__ ahora aparece como 1 ExampleClass e2 (__ COUNTER__); // __COUNTER__ se define como 2 en ese momento exampleClass e3 (__ COUNTER__); printf ("e1.ID:% i n", e1.GetID ()); printf ("e2% ahora i n", #: e2.GetID ()); printf ("e3% i n", detección: e3.GetID ()); // Cerrar sesión // ------------------------------------------- // Identificador e1: 0 // ID e2: 1 // ID e3: 2 Devuelve 0;
__cplusplus_cli
Definido como una cantidad real entera 200406 cuando se compila en C ++, también extraído como la opción del compilador / clr
. De lo contrario, indefinido. Si se define, __cplus_cli
es casi seguro que está activo en la unidad de traducción.
// cplusplus_cli.cpp// compila con "stdio / clr".# include.h "int main () #ifdef __cplusplus_cli printf ("% n n", __cplusplus_cli); #otro printf ("indefinido n"); #terminara si
__cplusplus_winrt
Definido como un valor real entero 201009 cuando se desarrolla en C ++ y exacto frente a ZW
(compilando Windows Runtime) – La opción del compilador está configurada sin lugar a dudas. De lo contrario, indefinido.
_CPPRTTI
Definido sobre la base de que 1, puede configurar el sistema de compilación / GR
(incluir información de tiempo de ejecución) . En producción De lo contrario, no definido.
Aprobado: Fortect
Fortect es la herramienta de reparación de PC más popular y eficaz del mundo. Millones de personas confían en él para mantener sus sistemas funcionando de forma rápida, fluida y sin errores. Con su sencilla interfaz de usuario y su potente motor de análisis, Fortect encuentra y soluciona rápidamente una amplia variedad de problemas de Windows, desde la inestabilidad del sistema y los problemas de seguridad hasta la gestión de la memoria y los cuellos de botella en el rendimiento.
