14

我刚刚读了一本建议在 GCC 中启用最高警告级别的书。我只是在网上查了一下文档,发现参数太多了。我想启用最高警告级别,我应该使用哪个参数?

我们在项目中大量使用 Boost。

4

2 回答 2

22

与有 4 个级别的 cl 不同,gcc 只有一组可以打开或关闭的选项。

正如其他人所提到的,这-Wall是默认设置,它已经打开了许多警告。该-pedantic选项增加了一些。还有-Wextra一组...

但是要真正捕获许多警告,您必须手动添加许多.

有一个我喜欢使用的集合,虽然有人告诉我其中一些是矛盾的,但我发现该列表对我的开发工作非常有用:

-Werror -Wall -Wextra -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=5 -Wundef -Wno-unused -Wno-variadic-macros -Wno-parentheses -fdiagnostics-show-option

请注意,我会使用,-Werror否则您会收到警告并倾向于忽略它们。有了-Werror,不再无视任何事情!编写原始代码,您的软件更有可能按预期工作。

于 2013-08-06T04:12:55.180 回答
-4

我想你可以使用-Wall开关

于 2013-08-06T03:09:46.440 回答