Wstępnie zdefiniowane makra
Lists the predefined ANSI/ISO C99 and Microsoft C++ implementation preprocessor macros.
Kompilator rozpoznaje wstępnie zdefiniowanych makra preprocessor ANSI/ISO C99 C i implementację Microsoft C++ zawiera kilka innych.Te makra preprocessor nie przyjmuje żadnych parametrów i nie można ponownie zdefiniować.Niektóre makra wstępnie zdefiniowanych wymienione w tym artykule można definiować z wieloma wartościami.
Zgodne ze standardem ANSI wstępnie zdefiniowane makra
Makro |
Opis |
---|---|
__DATE__ |
Data kompilacji bieżącego pliku źródłowego.Data jest ciągiem w postaci literału Mmm dd rrrr.Nazwy miesięcy Mmm jest taka sama, jak w przypadku wartości daty wygenerowane przez funkcję biblioteki asctime zadeklarowane w czasie. H |
__FILE__ |
Nazwa bieżącego pliku źródłowego.__FILE__ rozwija do literałem ciągu.Aby upewnić się, że wyświetlana jest pełna ścieżka do pliku, należy użyć /FC (Pełna ścieżka pliku kodu źródłowego w Diagnostyce). |
__func__ |
Zwraca nazwę niekwalifikowanej i unadorned otaczającego funkcji jako tablicę znaków.
|
__LINE__ |
Numer wiersza w bieżącym pliku źródłowego.Numer wiersza jest dziesiętna literału.Możesz zmienić ją z #line dyrektywy. |
__STDC__ |
Wskazuje zgodność ze standardem ANSI/ISO C99.Zdefiniowany jako liczba całkowita literał stałej 1 tylko wtedy, gdy /Za znajduje się opcja kompilatora i nie są kompilacji kodu C++, w przeciwnym razie jest niezdefiniowana. |
__TIME__ |
Ostatni czas kompilacji bieżącego pliku źródłowego.Czas jest ciągiem w postaci literału hh: mm:. |
__TIMESTAMP__ |
Data i godzina ostatniej modyfikacji bieżącego pliku źródłowego, wyrażonej w postaci literału w postaci ciągu Data Ddd Mmm rrrr hh: mm:, gdzie Ddd jest skróconą dzień tygodnia i Data jest liczbą całkowitą od 1 do 31. |
Wstępnie zdefiniowane makra specyficzne dla firmy Microsoft
Makro |
Opis |
---|---|
_ATL_VER |
Definiuje wersji ATL, zakodowane jako literałem liczby całkowitej. |
__AVX__ |
Gdy zdefiniowane /arch:AVX lub /arch:AVX2 jest określony. |
__AVX2__ |
Gdy zdefiniowane /arch:AVX2 jest określony. |
_CHAR_UNSIGNED |
Domyślna char typu jest podpisany.Gdy zdefiniowane /J jest określony. |
__CLR_VER |
Definiuje wersję plików wykonywalnych języka używany, gdy został skompilowany aplikacji.Wartość zwracana jest literałem liczby całkowitej zakodowany w następującym formacie: Mmmbbbbb w przypadku gdy
|
__cplusplus_cli |
Definicja podczas kompilacji z /clr, /clr:pure, lub /clr:safe.Wartość __cplusplus_cli jest liczbą całkowitą 200406 literału.__cplusplus_cli jest włączona w całej jednostki tłumaczenia.
|
__cplusplus_winrt |
Zdefiniowany przy użyciu /ZW opcję, aby skompilować.Wartość __cplusplus_winrt jest liczbą całkowitą 201009 literału. |
__COUNTER__ |
Rozwija na liczbę całkowitą literału, rozpoczynając od 0 i zwiększany o 1 za każdym razem, gdy jest używany w pliku źródłowym lub uwzględniony nagłówki pliku źródłowego.__COUNTER__ gdy użytkownik korzysta z wstępnie skompilowanej nagłówki są przechowywane jego stan. W poniższym przykładzie użyto __COUNTER__ do przypisywania unikatowych identyfikatorów dla trzech różnych obiektów tego samego typu. Najpierw należy założyć poniższej definicji klasy.Konstruktor ma liczbę całkowitą jako parametr.
W głównym, aplikacja deklaruje trzy obiekty typu exampleClass, używając __COUNTER__ jako parametr unikatowy identyfikator.
|
__cplusplus |
Zdefiniowany dla tylko programy w języku C++. |
_CPPRTTI |
Zdefiniowana dla skompilowany kod z przełączników /GR (Włącz wykonywania informacji o typie). |
_CPPUNWIND |
Zdefiniowane dla kodu skompilowana przy użyciu jednego z /EH (Model obsługi wyjątku) flagi. |
_DEBUG |
|
_DLL |
Gdy zdefiniowane /MD lub /MDd określono (wielowątkowe DLL). |
__FUNCDNAME__ |
Prawidłowy tylko w funkcji.Definiuje nadany nazwa otaczającego funkcji jako literałem ciągu. __FUNCDNAME__ nie jest rozwinięta, korzystając z /EP lub /P opcję kompilatora. W poniższym przykładzie użyto __FUNCDNAME__, __FUNCSIG__, i __FUNCTION__ makra do wyświetlania informacji o funkcji.
|
__FUNCSIG__ |
Prawidłowy tylko w funkcji.Określa podpis otaczającego funkcji jako literałem ciągu. __FUNCSIG__ nie jest rozwinięta, korzystając z /EP lub /P opcję kompilatora. W 64-bitowym systemie operacyjnym, jest konwencja wywołania __cdecl domyślnie. Patrz __FUNCDNAME__ przykład. |
__FUNCTION__ |
Prawidłowy tylko w funkcji.Definiuje nazwę bez funkcji otaczającego jako literałem ciągu. __FUNCTION__ nie jest rozwinięta, korzystając z /EP lub /P opcję kompilatora. Patrz __FUNCDNAME__ przykład. |
_INTEGRAL_MAX_BITS |
Raporty maksymalny rozmiar (w bitach) dla typu całkowitego jako liczba całkowita literału.
|
_M_AMD64 |
Zdefiniowanych na potrzeby kompilacje prowadzących x 64 procesory. |
_M_ARM |
Zdefiniowany dla kompilacje prowadzących procesorów ARM. |
_M_CEE |
Definicja kompilacji, korzystającej z dowolną formę /clr (/clr:oldSyntax, /clr:safe, na przykład). |
_M_CEE_PURE |
Definicja kompilacji, który używa /clr:pure. |
_M_CEE_SAFE |
Definicja kompilacji, który używa /clr:safe. |
_M_IX86 |
Zdefiniowanych na potrzeby kompilacje prowadzących x 86 procesorów.To nie jest zdefiniowany dla procesorów x 64 procesory. |
_M_ARM_FP |
Rozszerza się na wartość całkowitą literału wskazaniem, który /arch została użyta opcja kompilatora:
|
_M_IX86_FP |
Rozszerza się na wartość całkowitą literału wskazaniem, który /arch została użyta opcja kompilatora:
|
_M_X64 |
Zdefiniowanych na potrzeby kompilacje prowadzących x 64 procesory. |
_MANAGED |
Zdefiniowany jako 1 when /CLR jest określony. |
_MFC_VER |
Definiuje wersji MFC, zakodowane jako literałem liczby całkowitej. |
_MSC_BUILD |
Wynikiem jest literałem zawiera składnik numer wersji numer wersji kompilatora liczby całkowitej.Numer wersji jest składnik czwarte numer wersji rozdzielanych okres.Na przykład, jeśli numer wersji kompilatora Visual C++ jest 15.00.20706.01 _MSC_BUILD makra oblicza do 1. |
_MSC_EXTENSIONS |
Tego makra jest zdefiniowany w przypadku kompilacji z /Ze opcję kompilatora (domyślnie).Podczas definiowania, jego wartość wynosi 1. |
_MSC_FULL_VER |
Wynikiem jest literał liczby całkowitej, który koduje głównych i pomocniczych i tworzyć liczba składników kompilatora numer wersji.Główny numer jest pierwszy składnik numer wersji rozdzielanych okres, pomocnicza zawiera drugi składnik i numer kompilacji jest trzeci składnik.Na przykład, jeśli numer wersji kompilatora Visual C++ jest 15.00.20706.01 _MSC_FULL_VER makra wynikiem jest 150020706.Typ cl /? w wierszu polecenia, aby wyświetlić numer wersji kompilatora. |
_MSC_VER |
Wynikiem jest literałem kodującej głównych i pomocniczych numerów składniki numer wersji kompilatora liczby całkowitej.Główny numer jest pierwszy składnik numer wersji rozdzielanych okres i pomocniczych zawiera drugi składnik. Na przykład, jeśli numer wersji kompilatora Visual C++ jest 17.00.51106.1 _MSC_VER makra wynikiem jest 1700.Typ cl /? w wierszu polecenia, aby wyświetlić numer wersji kompilatora. |
__MSVC_RUNTIME_CHECKS |
Gdy zdefiniowano jeden z /RTC określono opcje kompilatora. |
_MT |
Gdy zdefiniowane /MD lub /MDd (wielowątkowe DLL) lub /MT lub /MTd (Multithreaded) jest określony. |
_NATIVE_WCHAR_T_DEFINED |
Gdy zdefiniowane /Zc:wchar_t jest używany. |
_OPENMP |
Zdefiniowany w przypadku kompilacji z /openmp, wynikiem jest liczba całkowita literału reprezentujący datę specyfikacji OpenMP implementowana przez program Visual C++.
|
_VC_NODEFAULTLIB |
Gdy zdefiniowane /Zl jest używany, zobacz /Zl (Pomiń domyślną nazwę biblioteki) uzyskać więcej informacji. |
_WCHAR_T_DEFINED |
Gdy zdefiniowane /Zc:wchar_t jest używana lub jeśli wchar_t jest zdefiniowana w pliku nagłówka system zawartych w projekcie. |
_WIN32 |
Zdefiniowany dla aplikacji Win32 i Win64.Zawsze zdefiniowany. |
_WIN64 |
Zdefiniowany dla aplikacji na Win64. |