不要将 -Weverything 放在你的构建标志中

主要观点:不应在生产环境中使用-Weverything,应仅在特殊的一次性构建中临时使用,以发现特定警告是否存在。
关键信息:

  • 推荐在编译项目时使用-W -Wall(可能还有-Wextra),而不是-Weverything
  • ClangChandler CarruthJames Y. Knight等开发者都不建议在默认构建标志中使用-Weverything
  • Mark Dalrymple描述了正确的工作流程,即偶尔使用-Weverything进行警告修复,然后在提交更改前关闭。
  • 有很多误导性的开发者在推广-Weverything用于夜间构建的错误观念。
    重要细节:
  • Clang-Weverything会启用所有警告,包括相互冲突的警告,不适合日常代码开发。
  • long long为例,使用-Weverything编译会显示多个相关警告,但无法单独提取特定警告。
  • GCC不提供-Weverything,认为其风险大于收益。
    总结:应遵循Clang开发者的建议,在构建标志中使用-W -Wall,不要使用-Weverything,仅在特定情况下临时使用以发现警告。
阅读 26
0 条评论