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


/w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (уровень предупреждений)

Обновлен: Ноябрь 2007

Укажите, как компилятор должен создавать предупреждения при конкретном компилировании.

 /w /Wn /WX /Wall /wln /wdn /wen /won

Заметки

Параметры и связанные с ними аргументы описаны в таблице, представленной ниже.

Параметр

Описание

/w

Отключает все предупреждения компилятора.

/Wn

Задает высший уровень предупреждения для компилятора. Диапазон допустимых уровней предупреждения для n — от 0 до 4:

  • Уровень 0 — все предупреждения отключены.

  • Уровень 1 — отображаются только серьезные предупреждения. Этот уровень предупреждений используется в командной строке по умолчанию.

  • Уровень 2 — отображение всех предупреждений уровня 1 и менее серьезных.

  • Уровень 3 — отображение всех предупреждений уровня 2 и прочих предупреждений, рекомендуемых в производственных целях.

  • Уровень 4 — отображение всех предупреждений уровня 3, а также информационных сообщений, которые в большинстве случаев могут игнорироваться. Этот параметр следует использовать исключительно для контроля стиля программирования на соответствие стандартам; не рекомендуется использовать этот уровень в качестве основного уровня предупреждений.

В новом проекте оптимальным является использование уровня /W4 во всех компиляциях. Это обеспечит выявление максимального числа трудно находимых ошибок кода.

/Wall

Задействует все предупреждения, включая не задействованные по умолчанию. Подробнее см. Предупреждения компилятора, вывод которых по умолчанию отключен.

/WX

Обрабатывать все предупреждения компилятора как ошибки. В новых проектах во всех компиляциях лучше использовать /WX; реагирование на все предупреждения обеспечит устранение максимального числа трудно находимых ошибок кода.

Компоновщик также имеет параметр /WX; дополнительные сведения см. в разделе /WX (Обрабатывать предупреждения компоновщика как ошибки).

/wln

Указывает уровень для конкретного предупреждения. Первый параметр задает уровень предупреждения (как /Wn), а второй параметр — фактический номер предупреждения.

Например, /w14326 заставляет выдавать ошибку C4326 в качестве предупреждения уровня 1.

/wdn

Отключает указанное предупреждение компилятора, где n — номер предупреждения компилятора.

Например, /wd4326 отключает предупреждение компилятора C4326.

/wen

Обрабатывает конкретное предупреждение компилятора как ошибку, где n — номер предупреждения.

Например, /we4326 отображает предупреждение C4326 как ошибку.

/won

Сообщает об ошибке только один раз, n — предупреждение компилятора.

Например, при /wo4326 предупреждение C4326 будет выведено только один раз.

Если вы создаете предварительно скомпилированный заголовок (/Yc (создать предварительно скомпилированный заголовочный файл)) с одним из параметров /w, любое использование предварительно скомпилированного заголовка (/Yu (использование файла предкомпилированного заголовка)) снова приведет к задействованию того же параметра /w. Вы можете переопределить параметр /w в предварительно скомпилированном заголовке с помощью другого параметра /w в командной строке.

Директивы pragma в исходном коде не подвержены влиянию параметра /w.

Вы также можете использовать warning для управления уровнем предупреждений, выводимых во время компилирования.

В разделе Ошибки построения C/C++ описаны предупреждения, указаны уровни каждого из них, а также представлены потенциальные проблемы (а не фактические ошибки кода), связанные с операторами, которые могут компилироваться не так, как вам бы хотелось.

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

  1. Откройте диалоговое окно Страницы свойств проекта. Подробные сведения см. в разделе Открытие свойств страниц проекта.

  2. Откроите папку C/C++.

  3. Выберите страницу свойств Общие и измените свойство Порог предупреждений или Обрабатывать предупреждения как ошибки.

  4. Выберите страницу свойств Дополнительно и измените параметр Отключить определенные предупреждения.

  5. Для установки остальных параметров перейдите на страницу свойств Командная строка и введите параметры компилирования в поле Дополнительные параметры.

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

См. также

Ссылки

Параметры компилятора

Настройка параметров компилятора