/w、/Wn、/WX、/Wall、/wln、/wdn、/wen、/won(警告等级)

指定编译器如何为给定的编译生成警告。

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

备注

下表中描述了这些选项和相关参数。

选项

说明

/w

禁用所有编译器警告。

/Wn

指定编译器生成警告的最高等级。 n 的有效警告等级范围在 0 到 4 之间:

  • 等级 0 禁用所有警告。

  • 等级 1 显示严重警告。 默认设置为Level1 。

  • 等级 2 显示所有等级1警告和不如等级1严重的警告。

  • 等级3显示所有等级 2 的警告和所有其他出于生产目的而建议的警告。

  • Level4显示所有等级 3的警告以及信息性警告。 建议您使用此选项。仅提供棉绒的警告。 然而对于新项目,最好在所有编译中使用 /W4;解决所有警告将确保难以查找的代码缺陷最少。

/Wall

显示在 /W4 中未包含 (示例中,的默认关闭警告的所有 /W4 警告及所有其他警告。 请参见默认情况下处于关闭状态的编译器警告

/WX

将所有编译器警告都视为错误。 对于新项目,最好在所有编译中使用 /WX;解决所有警告将确保难以查找的代码缺陷最少。

链接器还有一个 /WX 选项。 有关更多信息,请参见/WX(将链接器警告视为错误)

/wln

指定特定警告的等级。 第一个参数设置警告等级(与 /Wn 相同),第二个参数是实际警告编号。

例如,/w14326 使 C4326 生成为等级 1 警告。

/wdn

在 n指定禁用编译器警告的选项。

例如,/wd4326 禁用编译器警告 C4326。

/wen

视为错误在 n指定的编译器警告。

例如,/we4326 将警告编号 C4326 标记为错误。

/won

一次只报告错误在 n指定的编译器的警告。

例如,/wo4326将导致警告 C4326 只报告一次。

如果用其中一个 /w 选项创建预编译头 (/Yc(创建预编译的头文件)),任何对此预编译头的使用 (/Yu(使用预编译的头文件)) 将引起那些相同的 /w 选项重新生效。 可以在命令行用另一个 /w 选项通过重写预编译头中的 /w 设置。

源代码中的杂注指令不受 /w 选项的影响。

还可以使用 警告 控制在编译时报告警告等级。

生成错误文档 描述警告和警告等级,指出某些语句原因可能无法编译,则需要。

在Visual Studio 开发环境中设置此编译器选项

  1. 打开项目的**“属性页”**对话框。 有关详细信息,请参见如何:打开项目属性页

  2. 选择 C/C++

  3. 在**“常规”属性页,并修改“警告等级”“将警告视为错误”**属性。

  4. 在**“高级”属性页,并修改“禁用特定警告”**属性。

  5. 对于其他选项,在**“命令行”属性页,并在“附加选项”**框中键入编译器选项。

以编程方式设置编译器选项

请参见

参考

编译器选项

设置编译器选项