Предварительно определенные макросы
Список предопределенных макросов ANSI реализации Microsoft c и C++.
Компилятор распознает предопределенных макросов ANSI c и C++ реализация Майкрософт предоставляет несколько более.Эти макросы не принимает аргументы и не могут быть переопределены.Некоторые из предопределенных макросов, перечисленных ниже указаны с несколькими значениями.См. следующие таблицы дополнительные сведения.
Макросы предопределенные ANSI- Совместимыми
Макрос |
Описание |
---|---|
__DATE__ |
Дата компиляции текущего файла источника.Дата строковый литерал формы Дд Ммм гггг.Имя Mmm месяца, такое же, как и для дат, создаваемые функцией библиотеки asctime объявленным в TIME.H. |
__FILE__ |
Имя текущего файла источника.__FILE__ развернуть в строке окруженной двойные кавычки.Чтобы обеспечить полный путь к файлу отображается, используйте /FC (полный путь к файлу исходного кода в папке Diagnostics). |
__LINE__ |
Номер линии в текущем файле источника.Номер линии десятичная константа целого числа.Его можно изменить с помощью директивы #line. |
__STDC__ |
Отображает полное соответствие стандарту ANSI c#.Определяется как константа целого числа 1 только в том случае, если параметр компилятора /Za, и не компилировать код C++; в противном случае препроцессора. |
__TIME__ |
Последнее время компиляции текущего файла источника.Время строковый литерал формы чч: мм: сс. |
__TIMESTAMP__ |
Дата и время последнего изменения текущего файла источника, выраженный как строковый литерал в форме Чч даты ддд Ммм: мм: ss yyyy, где Ddd сокращенный день недели и дата целое число от 1 до 31. |
Макросы предопределенные Конкретные Майкрософт-
Макрос |
Описание |
---|---|
_ATL_VER |
Идентифицирует версию библиотеки ATL. в Visual Studio 2010, _ATL_VER определено как 0x1000. |
_CHAR_UNSIGNED |
По умолчанию тип char беззнаковый.Определен, если /J указано. |
__CLR_VER |
Определяет версию используемого среды CLR, когда приложение будет компилироваться.Возвращаемое значение будет в следующем формате: Mmmbbbbb Здесь:
|
__cplusplus_cli |
Определяется при компилировании с /clr, /clr:pure или /clr:safe.Значение __cplusplus_cli 200406.__cplusplus_cli действуют в течение всего единица преобразования.
|
__COUNTER__ |
Разверните в целое число, начиная с 0 на 1 и инкрементируя каждый момент он используется в файле источника или включенных заголовках исходного файла.__COUNTER__ запоминает свое состояние при использовании предкомпилированных заголовков. В следующем примере используется __COUNTER__ чтобы присвоить уникальные идентификаторы до 3 различных объектов одного и того же типа. Во-первых, рассмотрим следующее определение класса.Конструктор принимает целое число в качестве параметра.
В основе приложение объявляет 3 объекта типа exampleClass, используя __COUNTER__ как параметр уникального идентификатора.
|
__cplusplus |
Указано только в программах C++. |
_CPPRTTI |
Указано для кода с /GR компилированного (предоставление информации о типах во время выполнения). |
_CPPUNWIND |
Определяется с /GX компилированного кода (включить обработку исключений). |
_DEBUG |
|
_DLL |
Определен, если /MD или /MDd (многопотоковой библиотеки DLL). |
__FUNCDNAME__ |
Допустимы только в функции.Определяет внутреннее имя включающего функции в виде строки. __FUNCDNAME__ не развернут если используется параметр компилятора /EP или /P. В следующем примере используется __FUNCDNAME__, __FUNCSIG__, и макросы __FUNCTION__ для отображения данных функции.
|
__FUNCSIG__ |
Допустимы только в функции.Определяет сигнатуру, включающего функции в виде строки. __FUNCSIG__ не развернут если используется параметр компилятора /EP или /P. На 64 разрядной операционной системе, соглашение о вызовах по умолчанию __cdecl. Пример см. в разделе __FUNCDNAME__. |
__FUNCTION__ |
Допустимы только в функции.Определяет упрощенного имени включающего функции в виде строки. __FUNCTION__ не развернут если используется параметр компилятора /EP или /P. Пример см. в разделе __FUNCDNAME__. |
_INTEGRAL_MAX_BITS |
Сообщает максимальный размер (в битах) для целого типа.
|
_M_ALPHA |
(Больше не указано, поддерживаемых платформ АЛЬФЫ-ВЕРСИИ DEC). |
_M_AMD64 |
Указано для процессоров x64. |
_M_CEE |
Указано для компиляции, которая использует любую форму /clr (/clr:oldSyntax, /clr:safe, например). |
_M_CEE_PURE |
Указано для компиляции, которая использует /clr:pure. |
_M_CEE_SAFE |
Указано для компиляции, которая использует /clr:safe. |
_M_IX86 |
Указано для процессоров x86.См. таблицу ниже Values for _M_IX86 дополнительные сведения.Это не указан для процессоров x64. |
_M_IA64 |
Указано для процессоров семейства процессоров Itanium 64 разрядных. |
_M_ARM_FP |
Разверните в значение, показывающее, параметру компилятора /arch использовал:
|
_M_IX86_FP |
Разверните в значение, показывающее, параметру компилятора /arch использовал:
|
_M_MPPC |
(Больше не указано, поддерживаемых) платформ macintosh степень. |
_M_MRX000 |
(Больше не указано, поддерживаемых платформ MIPS). |
_M_PPC |
(Больше не указано, поддерживаемых платформ PowerPC). |
_M_X64 |
Указано для процессоров x64. |
_MANAGED |
Чтобы быть указано значение 1, если /clr указано. |
_MFC_VER |
Определяет версию MFC.Например, в Visual Studio 2010, _MFC_VER определено как 0x0A00. |
_MSC_BUILD |
Оценивает на компонент номера редакции номера версии компилятора.Номер редакции четвертого компонента период- разделенного номера версии.Например, если номер версии компилятора Visual C++ 15.00.20706.01, макрос _MSC_BUILD принимает значение 1. |
_MSC_EXTENSIONS |
Этот макрос определяется при компилировании с помощью параметра компилятора /Ze (по умолчанию)., Если он указан, его значение 1. |
_MSC_FULL_VER |
Результатом которого является майору, несовершеннолетнему и компонентам номер построения номера версии компилятора.Главный номер первого компонента период- разделенного номера версии, номер дополнительной компонент секунд, а номер построения третий компонент.Например, если номер версии компилятора Visual C++ 15.00.20706.01, макрос _MSC_FULL_VER устанавливается в 150020706.Введите в командной строке cl /? для просмотра номер версии компилятора. |
_MSC_VER |
Результатом которого является главным и небольшим компонентов числа номера версии компилятора.Главный номер первого компонента период- разделенного номера версии, а небольшой номер второй компонент. Например, если номер версии компилятора Visual C++ 15.00.20706.01, макрос _MSC_VER устанавливается в 1500. в Visual Studio 2010, _MSC_VER определено как 1600. |
__MSVC_RUNTIME_CHECKS |
Определен, если /RTC указание параметров компилятора. |
_MT |
Определен, если /MD или /MDd (многопотоковой библиотеки DLL) или /MT или /MTd (многопоточных) будут определены. |
_NATIVE_WCHAR_T_DEFINED |
Определен, если /Zc: wchar_t используется. |
_OPENMP |
Указан параметр /openmp, при компилировании с возвращениями целое число, представляющее дату спецификации OpenMP, реализованной в Visual C++.
|
_VC_NODEFAULTLIB |
Определен, если /Zl используется; дополнительные сведения см. в разделе /Zl (Опущенное по умолчанию имя библиотеки). |
_WCHAR_T_DEFINED |
Определен, если /Zc: wchar_t используется или если wchar_t определенное в файле заголовка системы, включенного в проекте. |
_WIN32 |
Указано для приложений для Win32 и Win64.Определяется всегда. |
_WIN64 |
Указано для приложений, Win64. |
_Wp64 |
Указан, определяющий /Wp64. |
Как показано в таблице ниже, компилятор формирует значения идентификаторов препроцессора, которые отражают указанный параметр процессора.
Значения _M_IX86
Параметр " в интегрированной среде разработки |
Параметр командной строки |
Результирующее значение |
---|---|---|
Бленда |
/GB |
_M_IX86 = 600 (по умолчанию.Будущие компиляторы испустят другое значение, отражающее главного процессор). |
Пентиум |
/G5 |
_M_IX86 = 500 |
Пентиум профессиональный, Пентиум и Пентиум II III |
/G6 |
_M_IX86 = 600 |
80386 |
/G3 |
_M_IX86 = 300 |
80486 |
/G4 |
_M_IX86 = 400 |