gpt4 book ai didi

c++ - 有没有办法让 gcc 或 clang 在缺少 'else' 时发出警告?

转载 作者:太空狗 更新时间:2023-10-29 19:49:28 31 4
gpt4 key购买 nike

如果我没有处理每个 if 语句的 else 条件,我想让编译器警告我。这是否存在于 clanggcc 中?

澄清一下,我并不是要为我的所有 源代码启用此功能。然而,有时有整个文件或大片代码,我根本无法承受不认真考虑每个 else block 的设计。所以,我想,我真的在寻找一个 pragma,我可以打开和关闭它来为几千行非常重要的代码启用和禁用它。

将其想象成一个自动代码审查或静态分析工具。

说编译器不能这样做是因为它是合法的……在实践中不是问题。我见过的每个 C/C++ 编译器都会很高兴地针对在语法和语义上完全有效的代码发出大量警告。 (例如在 gcc 中,-Wunused-value、-Wunused-label、-Wunreachable-code 等...)

最佳答案

如果您真的想要这个,我建议您下载 Cppcheck并为此添加支票。 Cppcheck 进行简单类型的基于文本的匹配以检查规则集。警告缺少 else 子句会相当简单。

我在此处的 missing-else 分支中实现了对“missing else”的原型(prototype)检查:https://github.com/ghewgill/cppcheck/tree/missing-else .这通过了自己的测试,但由于新的意外样式警告(在其他合法代码上)而未通过许多其他测试。

关于c++ - 有没有办法让 gcc 或 clang 在缺少 'else' 时发出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8982958/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com