Wstępnie zdefiniowane makra
Wyświetla listę wstępnie zdefiniowanych ANSI c i Microsoft C++ wykonania makra.
Kompilator rozpoznaje wstępnie makra ANSI C i wdrażania firmy Microsoft C++ udostępnia kilka dalszych.Te makra nie wymaga żadnych argumentów i nie można ponownie zdefiniować.Niektóre wstępnie zdefiniowane makra wymienione poniżej są zdefiniowane z wieloma wartościami.Zobacz następujące tabele, aby uzyskać więcej informacji.
Wstępnie ze standardem ANSI makra
Makro |
Opis |
---|---|
__DATE__ |
Data kompilacji bieżącego pliku źródłowego.Data jest ciąg literału formularza Mmm dd rrrr.Nazwa miesiąca Mmm jest taka sama jak daty wygenerowane przez funkcję biblioteki asctime zadeklarowane w czasie.H. |
__FILE__ |
Nazwa bieżącego pliku źródłowego.__FILE__rozszerza się na ciąg ujęte w podwójny cudzysłów.W celu zapewnienia, że wyświetlana jest pełna ścieżka do pliku, należy użyć /FC (pełną ścieżkę pliku kodu źródłowego w Diagnostyka). |
__LINE__ |
Numer wiersza w bieżącym pliku źródłowego.Numer wiersza jest stała dziesiętna.Można zmienić z #line dyrektywy. |
__STDC__ |
Wskazuje pełną zgodność z ANSI c standard.Zdefiniowane jako liczba całkowita 1 stała tylko wtedy, gdy /Za podano opcji kompilatora i nie są kompilowanie kodu C++; w przeciwnym razie jest niezdefiniowane. |
__TIME__ |
Ostatni czas kompilacji bieżącego pliku źródłowego.Czas jest ciąg literału formularza ss. |
__TIMESTAMP__ |
Data i godzina ostatniej modyfikacji bieżącego pliku źródłowego, wyrażona w postaci literału ciągu Data Ddd Mmm rrrr hh, gdzie Ddd jest skróconą dzień tygodnia i Data jest liczbą całkowitą od 1 do 31. |
Wstępnie zdefiniowane makra programu Microsoft
Makro |
Opis |
---|---|
_ATL_VER |
Określa wersję ATL. W Visual Studio 2010, _ATL_VER jest zdefiniowana jako 0x1000. |
_CHAR_UNSIGNED |
Domyślnie char typu jest niepodpisany.Kiedy definicja /J jest określony. |
__CLR_VER |
Określa wersję common language runtime używanych podczas stosowania został skompilowany.Wartość zwracana będzie w następującym formacie: Mmmbbbbb w przypadku gdy
|
__cplusplus_cli |
Zdefiniowane podczas kompilacji z /clr, /clr:pure, lub /clr:safe.Wartość __cplusplus_cli jest 200406.__cplusplus_cli jest w całej jednostki translacji.
|
__COUNTER__ |
Rozwija Integer, zaczynając od 0 i zwiększając o 1 za każdym razem jest używany w pliku źródłowym, lub włączone nagłówków pliku źródłowego.__COUNTER__pamięta jego stanu używania nagłówków wstępnie skompilowana. W poniższym przykładzie użyto __COUNTER__ do przypisywania niepowtarzalnych identyfikatorów do trzech różnych obiektów tego samego typu. Po pierwsze przyjmuje następującą definicję klasy.Konstruktor ma całkowitą jako parametr.
W głównym, aplikacja deklaruje trzy obiekty typu exampleClass, korzystanie z __COUNTER__ jako parametr identyfikator unikatowy.
|
__cplusplus |
Zdefiniowane tylko programów C++. |
_CPPRTTI |
Zdefiniowane kod skompilowany z przełączników /GR (Włącz Run-Time typu informacji). |
_CPPUNWIND |
Zdefiniowane kod skompilowany z /GX (Włączanie obsługi wyjątków). |
_DEBUG |
|
_DLL |
Kiedy definicja Opcje lub /MDd (wielowątkowe DLL) jest określony. |
__FUNCDNAME__ |
Prawidłowy tylko w przypadku funkcji.Definiuje Nazwa zdobione otaczający funkcji jako ciąg. __FUNCDNAME__nie jest rozwinięta, jeśli używasz /EP lub /P opcję kompilatora. W poniższym przykładzie użyto __FUNCDNAME__, __FUNCSIG__, i __FUNCTION__ makra, aby wyświetlić informacje o funkcji.
|
__FUNCSIG__ |
Prawidłowy tylko w przypadku funkcji.Określa podpis otaczający funkcji jako ciąg. __FUNCSIG__nie jest rozwinięta, jeśli używasz /EP lub /P opcję kompilatora. W 64-bitowym systemie operacyjnym jest konwencja wywołania __cdecl domyślnie. Zobacz __FUNCDNAME__ przykład. |
__FUNCTION__ |
Prawidłowy tylko w przypadku funkcji.Definiuje nazwę bez funkcji otaczający jako ciąg. __FUNCTION__nie jest rozwinięta, jeśli używasz /EP lub /P opcję kompilatora. Zobacz __FUNCDNAME__ przykład. |
_INTEGRAL_MAX_BITS |
Raporty integralną typu maksymalny rozmiar (w bitach).
|
_M_ALPHA |
Zdefiniowane dla DEC ALPHA platform (nie jest już obsługiwane). |
_M_AMD64 |
Zdefiniowane dla procesorów x 64. |
_M_CEE |
Zdefiniowane dla kompilacji, który korzysta z jakiejkolwiek formy /clr (/clr:oldSyntax, /clr:safe, na przykład). |
_M_CEE_PURE |
Zdefiniowane dla kompilacji, który używa /clr:pure. |
_M_CEE_SAFE |
Zdefiniowane dla kompilacji, który używa /clr:safe. |
_M_IX86 |
Zdefiniowane dla x 86 procesorów.Zobacz wartości dla _M_IX86 tabeli poniżej, aby uzyskać więcej informacji.To nie jest zdefiniowany dla x 64 procesorów. |
_M_IA64 |
Zdefiniowane dla Itanium procesora rodziny 64-bitowe procesory. |
_M_ARM_FP |
Rozszerza się, aby wartość wskazującą, które /arch została użyta opcja kompilatora:
|
_M_IX86_FP |
Rozszerza się, aby wartość wskazującą, które /arch została użyta opcja kompilatora:
|
_M_MPPC |
Zdefiniowane dla platform Power Macintosh (nie jest już obsługiwane). |
_M_MRX000 |
Zdefiniowane dla platform MIPS (nie jest już obsługiwane). |
_M_PPC |
Zdefiniowane dla platformy PowerPC (nie jest już obsługiwane). |
_M_X64 |
Zdefiniowane dla procesorów x 64. |
_MANAGED |
Zdefiniowane być 1, gdy /CLR jest określony. |
_MFC_VER |
Określa wersję MFC.Na przykład w Visual Studio 2010, _MFC_VER jest zdefiniowana jako 0x0A00. |
_MSC_BUILD |
Wynikiem zmiany numeru składnik numer wersji kompilatora.Numer wersji jest składnik czwarty numer wersji rozdzielonym.Na przykład, jeśli numer wersji kompilatora Visual C++ jest 15.00.20706.01 _MSC_BUILD wynikiem makro 1. |
_MSC_EXTENSIONS |
To makro, jest definiowany podczas kompilacji z /Ze opcję kompilatora (domyślnie).Zdefiniowane, jego wartość wynosi 1. |
_MSC_FULL_VER |
Wynikiem głównych pomocnicze i budowanie Ponumeruj składniki numer wersji kompilatora.Liczba głównych jest pierwszy element numer wersji rozdzielonym pomocniczy numer jest drugi składnik i numer kompilacji jest trzeciego składnika.Na przykład, jeśli numer wersji kompilatora Visual C++ jest 15.00.20706.01 _MSC_FULL_VER 150020706 wynikiem makro.Typ cl /? w wierszu polecenia, aby wyświetlić numer wersji kompilatora. |
_MSC_VER |
Wynikiem głównych i pomocniczych Ponumeruj składniki numer wersji kompilatora.Liczba głównych jest pierwszy element numer wersji rozdzielonym i pomocniczy numer jest drugi składnik. Na przykład, jeśli numer wersji kompilatora Visual C++ jest 15.00.20706.01 _MSC_VER wynikiem 1500 makro. W Visual Studio 2010, _MSC_VER jest zdefiniowany jako 1600. |
__MSVC_RUNTIME_CHECKS |
Kiedy definicja jedną z RTC określono opcje kompilatora. |
_MT |
Kiedy definicja Opcje lub /MDd (wielowątkowe DLL) lub /MT lub /MTd (Wielopozimowe) jest określony. |
_NATIVE_WCHAR_T_DEFINED |
Kiedy definicja /Zc:wchar_t jest używana. |
_OPENMP |
Zdefiniowane podczas kompilowania z /openmp, zwraca liczbę całkowitą reprezentującą datę specyfikacji OpenMP implementowane przez Visual C++.
|
_VC_NODEFAULTLIB |
Kiedy definicja /Zl jest stosowany; zobacz /ZL (Brak domyślnej nazwy biblioteki) Aby uzyskać więcej informacji. |
_WCHAR_T_DEFINED |
Kiedy definicja /Zc:wchar_t jest używana lub jeśli wchar_t jest zdefiniowany w pliku nagłówkowym systemu, zawarte w projekcie. |
_WIN32 |
Zdefiniowane dla aplikacji dla Win32 i Win64.Zawsze jest zdefiniowana. |
_WIN64 |
Zdefiniowane dla wniosków o Win64. |
_Wp64 |
Definicja określając /Wp64. |
Jak pokazano w poniższej tabeli, kompilator generuje wartości identyfikatorów preprocesora, które odzwierciedlają określona opcja procesora.
Wartości _M_IX86
Opcja w środowisku programowania |
Opcja wiersza polecenia |
Otrzymana wartość |
---|---|---|
Mieszania |
/GB |
_M_IX86 = 600(Domyślnie.Kompilatory w przyszłości będzie emitują inną wartość, aby odzwierciedlić dominującej procesor.) |
Pentium |
/ G5 |
_M_IX86 = 500 |
Pentium Pro, Pentium II i Pentium III |
/ G6 |
_M_IX86 = 600 |
80386 |
/ G3 |
_M_IX86 = 300 |
80486 |
/ G4 |
_M_IX86 = 400 |