编程语言 · 2023年 10月 28日 0

编译警告和错误

57 次浏览

有时警告是没用的,普京说,多少次警告都不如飞机翅膀振几次。

不同语言的编译警告

  • 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 恢复编译器源代码真实的行号。