Předdefinovaná makra
Lists the predefined ANSI/ISO C99 and Microsoft C++ implementation preprocessor macros.
Kompilátor rozpozná předdefinované ANSI/ISO C99 C Preprocessor – makra a implementace Microsoft C++ poskytuje několik dalších.Tyto preprocessor makra nemají žádné argumenty a nelze znovu definovat.Některé z předdefinovaných makra uvedené v tomto článku jsou definovány s více hodnotami.
ANSI kompatibilní se specifikací předdefinovány makra
Makro |
Popis |
---|---|
__DATE__ |
Datum kompilace aktuální zdrojový soubor.Datum je řetězec literálu formuláře mm yyyy dd.Název měsíce dd. je stejná jako u kalendářních dat generovaných funkci knihovny asctime deklarované v čase. H. |
__FILE__ |
Název aktuální zdrojový soubor.__FILE__ Rozbalí a řetězcový literál.Chcete-li zajistit, že se zobrazí úplná cesta k souboru, použijte /FC (úplná cesta k souboru zdrojového kódu v diagnostice). |
__func__ |
Vrací název neúplné a prostým nadřazených funkce jako pole char.
|
__LINE__ |
Číslo řádku v aktuální zdrojový soubor.Číslo řádku je desítkové celé číslo literálu.Může být změněna pomocí #line direktivu. |
__STDC__ |
Označuje shodu s standard ANSI/ISO C99.Definován jako celé číslo literálu konstanta 1 pouze tehdy, pokud /Za je zadána možnost kompilátoru a nejsou kompilace kódu jazyka C++, v opačném případě není definováno. |
__TIME__ |
Poslední čas kompilace aktuální zdrojový soubor.Čas je řetězec literálu formuláře hh: mm:. |
__TIMESTAMP__ |
Datum a čas poslední změny aktuální zdrojového souboru, vyjádřené jako řetězcový literál v podobě Ddd datum Mmm rrrr hh: mm:, kde Ddd je zkrácený den v týdnu a datum je celé číslo od 1 do 31. |
Specifické pro společnost Microsoft předdefinované makra
Makro |
Popis |
---|---|
_ATL_VER |
Definuje na verzi ATL kódovaná jako celé číslo literálu. |
__AVX__ |
Když definované /arch:AVX nebo /arch:AVX2 je zadán. |
__AVX2__ |
Když definované /arch:AVX2 je zadán. |
_CHAR_UNSIGNED |
Výchozí char typ není podepsán.Když definované /j je zadán. |
__CLR_VER |
Definuje verzi common language runtime použít, pokud byl zkompilován aplikace.Vrácená hodnota je celé číslo literálu kódovaná v následujícím formátu: Mmmbbbbb kde,
|
__cplusplus_cli |
Definované při sestavování s /clr, /clr:pure, nebo /clr:safe.Hodnota __cplusplus_cli je literál 200406 celé číslo.__cplusplus_cli je platná v celém překlad částí.
|
__cplusplus_winrt |
Definované, používáte-li /ZW možnost ke kompilaci.Hodnota __cplusplus_winrt je literál 201009 celé číslo. |
__COUNTER__ |
Rozbalí na celé číslo literálu počínaje 0 a zvyšující o 1 při každém používá se ve zdrojovém souboru nebo zahrnuty záhlaví zdrojového souboru.__COUNTER__ Při použití předkompilovaných hlavičkách zapamatuje si svůj stav. V následujícím příkladu __COUNTER__ pro přiřazení jedinečné identifikátory tři různé objekty stejného typu. Nejprve předpokládat, že následující definici třídy.Konstruktor přebírá jako parametr celé číslo.
Hlavní, aplikace deklaruje tři objekty typu exampleClass, s použitím __COUNTER__ jako parametr jedinečného identifikátoru.
|
__cplusplus |
Pro programy v jazyce C++ definováno. |
_CPPRTTI |
Definované pro kód kompilován s /GR (Povolit Run-Time informace o typu). |
_CPPUNWIND |
Definované pro kód kompilován pomocí jednoho z /EH (model zpracování výjimek) příznaky. |
_DEBUG |
|
_DLL |
Když definované /MD nebo /MDd (ve více vláknech DLL) je zadán. |
__FUNCDNAME__ |
Platné pouze ve funkci.Definuje upraveném název nadřazených funkce řetězcový literál. __FUNCDNAME__ není rozbalen, pokud použijete /EP nebo /P možnosti kompilátoru. V následujícím příkladu __FUNCDNAME__, __FUNCSIG__, a __FUNCTION__ makra Chcete-li zobrazit informace o funkci.
|
__FUNCSIG__ |
Platné pouze ve funkci.Definuje podpis nadřazených funkce jako řetězcový literál. __FUNCSIG__ není rozbalen, pokud použijete /EP nebo /P možnosti kompilátoru. Na 64bitové operační systém, je konvence volání __cdecl ve výchozím nastavení. Podívejte se na téma __FUNCDNAME__ příklad. |
__FUNCTION__ |
Platné pouze ve funkci.Definuje název upraveného nadřazených funkce řetězcový literál. __FUNCTION__ není rozbalen, pokud použijete /EP nebo /P možnosti kompilátoru. Podívejte se na téma __FUNCDNAME__ příklad. |
_INTEGRAL_MAX_BITS |
Maximální velikost (v bitech) integrální typ. hlásí jako celé číslo literálu.
|
_M_AMD64 |
Definované pro kompilace, které se zaměřují x 64 procesorů. |
_M_ARM |
Pro kompilace, které se zaměřují ARM procesory definováno. |
_M_CEE |
Definované pro kompilaci, který používá jakoukoli formu /clr (/clr:oldSyntax, /clr:safe, například). |
_M_CEE_PURE |
Definované pro kompilaci, který používá /clr:pure. |
_M_CEE_SAFE |
Definované pro kompilaci, který používá /clr:safe. |
_M_IX86 |
Definované pro kompilace, které se zaměřují x 86 procesory.Toto není definován pro platformu x 64 procesorů. |
_M_ARM_FP |
Celočíselná hodnota literálu určující, které se přizpůsobí /arch byla použita možnost kompilátoru:
|
_M_IX86_FP |
Celočíselná hodnota literálu určující, které se přizpůsobí /arch byla použita možnost kompilátoru:
|
_M_X64 |
Definované pro kompilace, které se zaměřují x 64 procesorů. |
_MANAGED |
Definované být 1 when /CLR je zadán. |
_MFC_VER |
Definuje na verzi MFC kódovaná jako celé číslo literálu. |
_MSC_BUILD |
Výsledkem je literál, který obsahuje číslo revize komponenta číslo verze kompilátoru celé číslo.Číslo revize je čtvrtou komponenta číslo verze oddělený období.Pokud je číslo verze kompilátoru Visual C++ 15.00.20706.01, například _MSC_BUILD makra se vyhodnocuje do 1. |
_MSC_EXTENSIONS |
Tato makra je definován při kompilaci s /Ze možnosti kompilátoru (výchozí).Hodnota, když je definován, je 1. |
_MSC_FULL_VER |
Výsledkem celočíselný literál, která kóduje hlavních dílčí a vytvářet číslo součásti číslo verze kompilátoru.Hlavní číslo je první komponenta číslo verze oddělený období, menší číslo je druhé složky a číslo sestavení je třetí složky.Pokud je číslo verze kompilátoru Visual C++ 15.00.20706.01, například _MSC_FULL_VER macro vyhodnocen jako 150020706.Typ cl /? na příkazovém řádku, chcete-li zobrazit číslo verze kompilátoru. |
_MSC_VER |
Výsledkem je literál, která kóduje hlavních a vedlejších číslo součásti číslo verze kompilátoru celé číslo.Hlavní číslo je první komponenta číslo verze oddělený období a menší číslo je druhé složky. Pokud je číslo verze kompilátoru Visual C++ 17.00.51106.1, například _MSC_VER macro vyhodnocen jako 1700.Typ cl /? na příkazovém řádku, chcete-li zobrazit číslo verze kompilátoru. |
__MSVC_RUNTIME_CHECKS |
Když definované jeden z /RTC – možnosti kompilátoru je zadán. |
_MT |
Když definované /MD nebo /MDd (ve více vláknech DLL) nebo /MT nebo /MTd (Multithreaded) je zadán. |
_NATIVE_WCHAR_T_DEFINED |
Když definované /Zc:wchar_t se používá. |
_OPENMP |
Definuje při kompilaci s /openmp, vyhodnocen jako celé číslo literál, který představuje datum specifikace OpenMP implementované Visual C++.
|
_VC_NODEFAULTLIB |
Když definované /Zl se používá, naleznete v části /Zl (vypuštění názvu výchozí knihovny) Další informace. |
_WCHAR_T_DEFINED |
Když definované /Zc:wchar_t se používá nebo je-li wchar_t je definován v záhlaví souboru systému součástí projektu. |
_WIN32 |
Pro aplikace pro systém Win32 a Win64 definováno.Vždy definován. |
_WIN64 |
Pro žádosti o Win64 definováno. |