/w、/Wn、/WX、/Wall、/wln、/wdn、/wen、/won(警告等级)
指定编译器如何为给定编译生成警告。
/w
/Wn
/WX
/Wall
/wln
/wdn
/wen
/won
备注
下表中描述了这些选项和相关参数。
选项 |
说明 |
---|---|
/w |
禁用所有编译器警告。 |
/Wn |
指定编译器生成的警告的最高等级。 n 的有效警告等级范围在 0 到 4 之间:
对于新项目,最好在所有编译中使用 /W4。 这将确保难以查找的代码缺陷最少。 |
/Wall |
启用所有警告(包含那些默认情况下禁用的警告)。 请参见默认情况下处于关闭状态的编译器警告。 |
/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 选项的影响。
还可以使用 warning 控制在编译时报告的警告等级。
C/C++ 生成错误 描述这些警告,指示各个警告的等级,并指示可能无法按照预期编译的语句的潜在问题(而非实际编码错误)。
在 Visual Studio 开发环境中设置此编译器选项
打开该项目的**“属性页”**对话框。 有关详细信息,请参见如何:打开项目属性页。
单击**“C/C++”**文件夹。
单击**“常规”属性页,并修改“警告等级”或“将警告视为错误”**属性。
单击**“高级”属性页,并修改“禁用特定警告”**属性。
对于其他选项,单击**“命令行”属性页,并在“附加选项”**框中键入编译器选项。