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