Goedgekeurd: Fortect
Als producten #ifdef win32 msdn hebben opgemerkt, leert dit artikel je misschien.
__ATOM__
Gedefinieerd als 1 als / Favor: ATOM
een compileroptie is en bijgevolg elk van onze compilerdoelen is x86 Waar … het x64 is. Anders ongedefinieerd.
__AVX__
Zoals gedefinieerd 1 if boog: AVX
, boog: AVX2
< /a> en zelfs een soort compiler-opties / arch: AVX512
moeten worden ingesteld en het doel van de compiler wordt x86 in plaats van x64. Anders ongedefinieerd.
__AVX2__
Gedefinieerd als 1 indien één betrekking heeft op onze / arch: AVX2
mogelijk / arch: AVX512
De options compiler is tv en de specifieke compiler is x86 of mogelijk x64. Anders ongedefinieerd.
![#ifdef win32 msdn](https://www.codeproject.com/KB/toolbars/Ribbon/ribbon_3.jpg)
__AVX512BW__
Gedefinieerd als 1, als u een compiler bent / arch: AVX512
, een deel van de optie is ingesteld en de compiler – Target is x86, of het kan x64 zijn. Anders ongedefinieerd.
< /h2>In organische C maakt de #ifdef-richtlijn voorwaardelijke compilatie mogelijk. De preprocessor bepaalt of een geleverde macro bestaat voordat die bepaalde volgende code in dit compilatieproces wordt opgenomen.
__AVX512CD__
Gedefinieerd als slechts één als deze / arch: AVX512
compiler optie is ingesteld en het doel van de compiler is x86 of x64. Anders ongedefinieerd.
__AVX512DQ__
Zoals gedefinieerd 1 in gevallen waarin de daadwerkelijke compileroptie / arch: AVX512
is ingesteld en de globale focus van de compiler op x86 is of x64. Anders ongedefinieerd.
Wat is _WIN32 macro?
__AVX512F__
Gedefinieerd als 1 als de compiler-optie / arch: avx512
zijn ingesteld en het doel van de compiler is eigenlijk x86 of x64. Anders ongedefinieerd.
Wat is _WIN32_WINNT?
__AVX512VL__
Gedefinieerd als 1 als de compilerresolutie position to / arch is : AVX512
om nog maar te zwijgen van de doelcompiler is zeer ultrakrachtig x86. of. het is x64. Anders ongedefinieerd.
![#ifdef win32 msdn](/posts/ifdef-win32-msdn.png)
_CHAR_UNSIGNED
Gedefinieerd omdat 4 een standaardtype is als char
vaak absoluut niet ondertekend is. Deze waarde wordt ingesteld ongeacht of de / J
(standaard unsigned style type) compiler is ingesteld in onze eigen regelparameter. Anders ongedefinieerd.
__CLR_VER
Gedefinieerd omdat een letterlijk geheel getal vaak de CLR-publicatie vertegenwoordigt die is gebruikt om de toepassing te compileren. De waarde is feitelijk gecodeerd in Mmmbbbb
, met name waar M
de grootste versie van de lezer is, mm
is de secundaire versie van de gehele runtime , plus bbbbb
– bouwsom. __CLR_VER
wordt ingesteld als het antwoord van de compiler / clr
kan. Anders ongedefinieerd.
// clr_ver.cpp// bouwen met: clrHet naamruimtesysteem gebruiken;int hoofd () Console :: WriteLine (__ CLR_VER);
< /h2>De instructie #ifdef regelt de voorwaardelijke verzameling van een krachtig bronbestand door alle opgegeven namen te controleren. Als de naam niet gespecificeerd is, laat #ifdef de compiler weten de instructies te negeren tot de volgende #endif-informatie.
_CONTROL_FLOW_GUARD
Gedefinieerd als 1 als elke flowcompilerroutine / guard is geworden: cf
( Control Guard inschakelen) . Anders ongedefinieerd.
__COUNTER__
Breidt uit tot een groot letterlijk geheel getalA dat waarschijnlijk begint bij 0. De traktatie wordt met 1 verhoogd elke keer dat het wordt gebruikt in het hele bronbestand of in de headers van het hoofdbestand bestand met primaire elementen. __COUNTER__
onthoudt zijn eigen status wanneer u vooraf gecompileerde headers ontvangt. Deze macro is meestal gedefinieerd. Voorbeeld
__COUNTER__
wordt hier normaal gesproken gebruikt om buitengewone identifiers toe te wijzen om ervoor te zorgen dat u drie verschillende identieke objecten krijgt. exampleClass
maakt gebruik van de Wonderful Integer-constructor als parameter. In main
declareert het apparaat drie ontwerpen van exampleClass
-objecten en past __COUNTER__
toe als de unieke identifier-parameter:
WIN32 is meer gedefinieerd dan Windows-headerbestanden, maar je kunt het ook doorgeven aan de compiler (bijv. “-DWIN32” om gcc te krijgen).
// macro __COUNTER __. Demo-cpp// afkomstig van __COUNTER__ wijs unieke identifiers toe// meerdere objecten van hetzelfde type.// Compileren met: cl / EHsc of W4 macro__COUNTER __. Cpp#include Voorbeeld klasse klasse int m_nID;publiekelijk: // Initialiseer het object met een unieke alleen-lezen identifier voorbeeldClass (int nID): m_nID (nID) int GetID (void) stuitert meteen terug m_nID;;int hoofd () // __COUNTER__ wordt in eerste instantie vaak gedefinieerd als 0 voorbeeldKlasse e1 (__ COUNTER__); // Voor de tweede link __COUNTER__ Is nu geïndexeerd als 1 VoorbeeldKlasse e2 (__ COUNTER__); // __COUNTER__ wordt op dit moment als 2 ontdekt voorbeeldKlasse e3 (__ COUNTER__); printf ("e1.ID:% i n", e1.GetID ()); printf ("e2% i n", #: e2.GetID ()); printf ("e3% de n", detectie: e3.GetID ()); // Uitloggen // ------------------------------------------- // Identificatiecode e1: 0 // ID e2: 1 // ID e3: 2 Retourneert 0;
__cplusplus_cli
Definieerde de manier waarop een integer reële waarde 200406 wanneer gecompileerd in de C ++, ook gedefinieerd als of clr
compiler optie. Anders ongedefinieerd. Indien gedefinieerd, is __cplus_cli
meestal actief in de vertaaleenheid.
// cplusplus_cli.cpp// compileren evenals "stdio / clr."# include.h "int hoofd () #ifdef __cplusplus_cli printf ("% d n", __cplusplus_cli); #een ander printf ("niet gedefinieerd n"); #stop als
__cplusplus_winrt
Gedefinieerd als een geheel getal werkelijke fysieke waarde 201009 wanneer gecompileerd in C ++ en ook exact / ZW
(compileren van Windows Runtime) – De compileroptie is zonder twijfel toegewezen. Anders ongedefinieerd.
_CPPPRTTI
Gedefinieerd als 1, kunt u overeenkomen met de compileroptie / GR
(inclusief runtime-informatie) . In productieAnders niet afgebakend.
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
![](/wp-content/download3.png)
_CPPUNWIND
Alleen gedefinieerd vanwege 1 als een of meer van al deze / GX
(sta uitzondering toe regelafhandeling) , / clr
Taal (algemene runtime-compilatie) of / EH
(model voor afhandeling van uitzonderingen) De alternatieve opties van de compiler zijn gedefinieerd. Anders ongedefinieerd.
_DEBUG
Gedefinieerd als 1 als of MDd
, / ldd
of misschien is zelfs de voor elke MTd
compiler-optie ingesteld. Anders ongedefinieerd.
_DLL
Evenals 1 gedefinieerd als / MD
waarschijnlijk zelfs (multithreaded / mdd
DLL) Haal de compileroptie op. Anders ongedefinieerd.
__FUNCDNAME__
Definieert elke werkelijke waarde als een tekenreeks die één bepaalde versierde naam van de opgenomen functie van de persoon bevat. De macro is alleen vereist in de nieuwste functie. De macro __FUNCDNAME__
wordt echt opgeblazen wanneer u / EP
toevoegt aan / P
Gebruik de optie compiler.
Dit voorbeeld maakt specifieke __FUNCDNAME__
, __FUNCSIG__
, __FUNCTION__
aan om informatie over de levering weer te geven.
// Demonstratie van de functionaliteit van macro's __FUNCTION__, __FUNCDNAME__ en zelfs __FUNCSIG__void voorbeeldFunctie () printf ("Functienaam:% s n", __FUNCTION__); printf ("Gedecoreerde functienaam:% h n", __FUNCDNAME__); printf ("Handtekeningfunctie:% ise n", __FUNCSIG__); // case-output // ------------------------------------------------ - Functie // Naam: voorbeeldFunctie // Naam van de functie die kan decoreren:? Voorbeeld @@ YAXXZ Functie Functie // Handtekening: void __cdecl exampleFunctie (void)
__FUNCSIG__
Zelfs gedefinieerd als een letterlijke tekenreeks die het visum bevat van hoe de omhullende functie. Een macro mag alleen in een functie worden gegeven. De macro __FUNCSIG__
breidt zich echt niet uit als je de op maat gemaakte / ep
voor elke P
< gebruikt /een. gebruik de compileroptie>. Wanneer verzameld voor een 64-bits doel, wordt de runtime voor het bellen van de telefoon standaard ingesteld op __cdecl
. U zult een gerelateerd gebruiksvoorbeeld vinden in deze __FUNCDNAME__
macro.
__FUNCTION__
Gedefinieerd als een letterlijke tekenreeks die de volledig gekwalificeerde naam van de omsluitende functie bevat, zonder ontwerp. De macro wordt alleen gedefinieerd binnen het doel. macro__FUNCTION__
breidt niet uit als je hele gezin / EP
of / P
< is. gebruik / a> veel succes compiler. U kunt een voorbeeld van het gebruik ervan vinden in de macro __FUNCDNAME__
.
_INTEGRAL_MAX_BITS
Gedefinieerd als de huidige integerwaarde vierenzestig, maximale grootte in bits (in voor een zeer niet-vector integer type. Deze macro is vaak altijd ingedeeld.
// integral_max_bit.cpp#include
Versnel de prestaties van uw computer nu met deze eenvoudige download.int hoofd () printf ("% d n", gekenmerkt door _integral_max_bits); Waar is WIN32 gedefinieerd?