Поделиться через


/Za, /Ze (отключить расширения языка)

Параметр компилятора /Za отключает и выдает ошибки для расширений Майкрософт в C, несовместимых с ANSI C89/ISO C90. Устаревший параметр компилятора /Ze включает расширения Майкрософт. Расширения Microsoft по умолчанию включены.

Синтаксис

/Za
/Ze

Замечания

Примечание.

Использование /Za при компиляции кода как C++ не рекомендуется. Параметр /Ze не рекомендуется, так как его поведение по умолчанию включено. Список устаревших параметров компилятора см. в разделе "Устаревшие и удаленные параметры компилятора".

Компилятор Microsoft C/C++ поддерживает компиляцию кода C двумя способами:

  • Компилятор использует режим компиляции C по умолчанию, если исходный файл имеет расширение C или параметр /Tc или /TC . Компилятор C — это компилятор C89/C90, который по умолчанию включает расширения Майкрософт на языке C. Дополнительные сведения о конкретных расширениях см. в разделе "Расширения Майкрософт" на C и C++. При указании как компиляции C, так и параметра /Za компилятор C строго соответствует стандарту C89/C90. Компилятор обрабатывает расширенные ключевые слова Майкрософт как простые идентификаторы, отключает другие расширения Майкрософт и автоматически определяет предварительно определенный макрос __STDC__ для программ C.

  • Компилятор может компилировать код C в режиме компиляции C++. Это поведение по умолчанию для исходных файлов, не имеющих расширения C , и при указании параметра /Tp или /TP . В режиме компиляции C++ компилятор поддерживает эти части стандартов ISO C99 и C11, которые были включены в стандарт C++. Почти весь код C также является допустимым кодом C++. Небольшое количество ключевых слов C и конструкций кода не являются допустимыми кодами C++ или интерпретируются по-разному в C++. Компилятор ведет себя в соответствии со стандартом C++ в этих случаях. В режиме компиляции C++ параметр /Za может вызвать непредвиденное поведение и не рекомендуется.

Другие параметры компилятора могут повлиять на то, как компилятор обеспечивает соответствие стандартам. Способы указания определенных стандартных параметров поведения C и C++ см. в параметре компилятора /Zc . Дополнительные параметры соответствия C++ см . в параметрах /permissive- и /std компилятора.

Дополнительные сведения о проблемах соответствия с Visual C++см. в разделе "Нестандартное поведение".

Установка данного параметра компилятора в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Выберите страницу свойств>конфигурации C/C++>Language.

  3. Измените свойство Disable Language Extensions .

Установка данного параметра компилятора программным способом

См. раздел DisableLanguageExtensions.

См. также

Параметры компилятора
/Zc (соответствие)
/permissive- (соответствие стандартам)
/std (определение стандартной версии языка)