/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
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Выберите страницу свойств>конфигурации C/C++>Language.
Измените свойство Disable Language Extensions .
Установка данного параметра компилятора программным способом
См. раздел DisableLanguageExtensions.
См. также
Параметры компилятора
/Zc (соответствие)
/permissive- (соответствие стандартам)
/std (определение стандартной версии языка)