Aprovado: Fortect
Se você viu #ifdef win32 msdn, este artigo pode ajudar as pessoas.
__ATOM__
Definido como 1 se / Favor: ATOM
for uma opção do compilador e uma de nossas os alvos do compilador são x86 Onde … é x64. Caso contrário, indefinido.
__AVX__
Conforme definido 1 se para cada arco: AVX
, / mid-foot: AVX2
e até mesmo as sugestões do compilador / arch: AVX512
foram definidas e o destino do compilador é x86 alternativamente de x64. Caso contrário, indefinido.
__AVX2__
Definido como 1 se um de seus / arch: AVX2
ou talvez um / arch : AVX512
O compilador de opções é tv e o compilador ideal é x86 ou possivelmente x64. Caso contrário, indefinido.

__AVX512BW__
Definido como 1, se você for o compilador / arch: AVX512
, a solução está definida e o compilador – O destino sempre foi x86 ou pode ser x64. Caso contrário, indefinido.
< / h2>Em C nativo, a diretiva #ifdef permite a compilação condicional. O pré-processador determina se uma macro fornecida existe antes que o código subsequente específico seja incluído no processo de coleta.
__AVX512CD__
Definido como 1 obviamente se este / arch: AVX512
compilador opção é definida e o compilador específico é x86 ou x64. Caso contrário, indefinido.
__AVX512DQ__
Conforme definido 1 se a opção do compilador do mundo real / arch: AVX512
estiver definida e o destino do compilador global x86 ou x64. Caso contrário, indefinido.
O que é macro _WIN32?
__AVX512F__
Definido como 1 se a chance do compilador / arch: avx512
é normalmente definido e o destino do compilador é x86 nem x64. Caso contrário, indefinido.
O que é _WIN32_WINNT?
__AVX512VL__
Definido como 1 se a resolução do compilador estiver configurada para / arch: AVX512
junto com o compilador de destino é x86 muito poderoso. e / ou. é x64. Caso contrário, indefinido.

_CHAR_UNSIGNED
Definido porque 1 é certamente um tipo padrão se char
pudesse ser definitivamente sem sinal. Este valor é definido se todo o compilador / J
(tipo de individualidade sem sinal padrão) for definido no parâmetro de conceito. Caso contrário, indefinido.
__CLR_VER
Definido porque um literal inteiro representa a publicação CLR usada para compilar o aplicativo. O valor excelente é realmente codificado em Mmmbbbb
, expressamente onde M
é a tradução principal do leitor, mm
é sua versão secundária de todo o tempo de execução , juntamente com bbbbb
– soma de construção. __CLR_VER
é definitivamente definido se a resposta do compilador agora é / clr
. Caso contrário, indefinido.
// clr_ver.cpp// construir com: / clrUsando todo o sistema de namespace;int main () Console :: WriteLine (__ CLR_VER);
< / h2>A diretiva #ifdef controla a compilação condicional envolvendo um arquivo de recurso de alto desempenho verificando o nome distinto. Se o nome não for especificado, #ifdef instrui o compilador a ignorar as instruções até as próximas #endif informações.
_CONTROL_FLOW_GUARD
Definido como 1 se cada rotina do compilador de fluxo for considerada / guard: cf
( Habilite a Proteção de Controle) . Caso contrário, indefinido.
__COUNTER__
Expande-se para um grande inteiro literal A que cria em 0. O tratamento é aumentado em um único cada vez que é usado no arquivo de obtenção ou em cabeçalhos incluídos do mais significativo arquivo de elemento. __COUNTER__
se lembra de quando você recebe cabeçalhos pré-compilados. Normalmente, esta macro é definida literalmente. Exemplo
__COUNTER__
é sempre usado aqui para atribuir identificadores extraordinários a seis objetos idênticos diferentes. exampleClass
usa o construtor Wonderful Integer específico como parâmetro. Em main
, o dispositivo declara três tipos de objetos exampleClass
e usa __COUNTER__
como o parâmetro identificador exclusivo:
O WIN32 é definido em torno dos arquivos de tags h2 do Windows, mas você também pode passá-lo para o compilador (por exemplo, “-DWIN32” para gcc).
// macro __COUNTER __. Demo cpp// por meio de __COUNTER__ atribuir identificadores únicos// vários objetos do mesmo tipo.// Compilando com: cl / EHsc / W4 macro__COUNTER __. Cpp#include Classe de classe de exemplo int m_nID;publicamente: // Inicializa o objeto com um identificador único somente leitura exampleClass (int nID): m_nID (nID) int GetID (void) return m_nID;;int dominante () // __COUNTER__ é antes de tudo definido como 0 exemploClasse e1 (__ CONTADOR__); // Para o segundo link principal __COUNTER__ agora está listado uma vez 1 ExemploClasse e2 (__ CONTADOR__); // __COUNTER__ é definido como 2 neste momento exemploClasse e3 (__ CONTADOR__); printf ("e1.ID:% which i n", e1.GetID ()); printf ("e2% i n", #: e2.GetID ()); printf ("e3% i n", detecção: e3.GetID ()); // Sair // ------------------------------------------- // Identificador e1: 0 // ID e2: 1 // ID e3: 2 Retorna 0;
__cplusplus_cli
Definido como grande valor real inteiro 200406 quando compilado em C ++, também definido como opção do compilador ou clr
. Caso contrário, indefinido. Se fornecido, __cplus_cli
está ativo na unidade de interpretação.
// cplusplus_cli.cpp// compilar agora com "stdio / clr."# include.h "int main () #ifdef __cplusplus_cli printf ("% d n", __cplusplus_cli); #outro printf ("indefinido n"); #fim se
__cplusplus_winrt
Definido como uma taxa real de número inteiro 201009 quando compilado em C ++ e extremamente / ZW
(compilando Windows Runtime) – A opção do compilador está definida requer uma dúvida. Caso contrário, indefinido.
_CPPRTTI
Definido como 1, você pode definir cada opção do compilador / GR
(incluir informações de ensinamentos) . Em produção, caso contrário, não definido.
Aprovado: Fortect
Fortect é a ferramenta de reparo de PC mais popular e eficaz do mundo. Milhões de pessoas confiam nele para manter seus sistemas funcionando de forma rápida, suave e livre de erros. Com sua interface de usuário simples e mecanismo de verificação poderoso, o Fortect localiza e corrige rapidamente uma ampla gama de problemas do Windows, desde instabilidade do sistema e problemas de segurança até gerenciamento de memória e gargalos de desempenho.
