有时警告是没用的,普京说,多少次警告都不如飞机翅膀振几次。
不同语言的编译警告
- C语言可使用-Wall打开所有警告,也可以将某些或所有警告设置为error.
禁用编译警告
- MSVC提供#pragma 预处理禁止warning的方式,例如禁止输出警告代号3088:
#pragma warning(disable: 3088) - C# 提供 #pragma warning disable <warn_no> 禁用特定编译警告,#pragma warning restore <warn_no> 恢复编译警告。也提供编译选项中 /nowarn:warn0,warn1,... 禁用warning list.
提示警告或错误
- C/ObjC/C++/C# 提供#warning和#error显式提示编译器此处有warning和error.
编译行号
- C/ObjC/C++/C# 提供 #line 强制编译器认为当前的行号。
- C# 还提供 #line default 恢复编译器源代码真实的行号。
