/Za, /Ze (отключить расширения языка)
Параметр компилятора /Za выдает ошибку для языковых конструкций, несовместимых либо с ANSI C, либо с ANSI C++.Параметр компилятора /Ze, установленный по умолчанию, включает расширения Microsoft.
/Za
/Ze
Заметки
Примечание |
---|
Параметр /Ze не рекомендуется к использованию.Дополнительные сведения см. в разделе Deprecated Compiler Options. |
Компилятор Visual C++ предоставляет ряд дополнительных функциональных возможностей, помимо обусловленных стандартами ANSI C или ANSI C++.Данные функциональные возможности называются расширениями Microsoft для С и С++.Расширения доступны в тех случаях, когда задан параметр /Ze, и недоступны, если задан параметр /Za.Дополнительные сведения см. в разделе Расширения Майкрософт для языков C и C++.
Если планируется переносить программу в другие среды, данные расширения языков необходимо отключить.Компилятор обрабатывает расширенные ключевые слова как простые идентификаторы, отключает другие расширения Microsoft и автоматически назначает предварительно определенный макрос __STDC__ для программ на С.
Еще один параметр компилятора, используемый с /Za, может повлиять на обеспечение компилятором соответствия стандартам ANSI.Например, параметры /Za и /fp (Определение поведения с плавающей запятой) могут стать причиной непрогнозируемого поведения.
Способы обеспечения стандартного поведения при использовании параметра /Za см. в описании параметра компилятора /Zc.
Дополнительные сведения о проблемах несоответствия стандартам в Visual C++ см. в разделе Проблемы совместимости и соответствия стандартам в Visual C++.
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта.Дополнительные сведения см. в разделе Открытие свойств страниц проекта.
Откройте папку C/C++.
Выберите страницу свойств Язык.
Измените значение свойства Отключить расширения языка.
Установка данного параметра компилятора программным способом
- Дополнительные сведения см. в разделе DisableLanguageExtensions.