主要观点:不应在生产环境中使用-Weverything
,应仅在特殊的一次性构建中临时使用,以发现特定警告是否存在。
关键信息:
- 推荐在编译项目时使用
-W -Wall
(可能还有-Wextra
),而不是-Weverything
。 Clang
的Chandler Carruth
和James Y. Knight
等开发者都不建议在默认构建标志中使用-Weverything
。Mark Dalrymple
描述了正确的工作流程,即偶尔使用-Weverything
进行警告修复,然后在提交更改前关闭。- 有很多误导性的开发者在推广
-Weverything
用于夜间构建的错误观念。
重要细节: Clang
的-Weverything
会启用所有警告,包括相互冲突的警告,不适合日常代码开发。- 以
long long
为例,使用-Weverything
编译会显示多个相关警告,但无法单独提取特定警告。 GCC
不提供-Weverything
,认为其风险大于收益。
总结:应遵循Clang
开发者的建议,在构建标志中使用-W -Wall
,不要使用-Weverything
,仅在特定情况下临时使用以发现警告。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。