主要观点:不应在生产环境中使用-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) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。