【发布时间】:2013-04-26 20:38:38
【问题描述】:
是否可以“告诉”编译器,如果警告总数(在编译 C++ 程序时)超过 10 个,则停止进一步编译并发出错误? 或者是否可以破解像 clang 这样的编译器来提供此功能。
【问题讨论】:
-
由于clang是开源的,当然可以修改。
标签: c++ gcc compiler-construction clang
是否可以“告诉”编译器,如果警告总数(在编译 C++ 程序时)超过 10 个,则停止进一步编译并发出错误? 或者是否可以破解像 clang 这样的编译器来提供此功能。
【问题讨论】:
标签: c++ gcc compiler-construction clang
GCC 有两个选项一起可以实现这一点,来自gnu online docs:
-错误
将所有警告变成错误。-fmax-errors=n 将错误消息的最大数量限制为 n,此时 GCC 会退出而不是尝试继续处理源 代码。
这会使带有任何警告的构建失败,选项只是定义何时停止解析。
【讨论】:
我还没有在 gcc 或 clang 中看到过这种功能。您当然可以尝试将其修补到其中的任何一个中,两者都是开源的。还有-Werror(两个编译器都接受)只是将警告视为错误。
【讨论】:
如何使用-Werror 将警告变为错误并使用-fmax-errors=n 设置限制。
(另外,也许让你的代码完全没有警告会是一件好事)。
【讨论】: