【问题标题】:Use splint to detect always false if logic flow如果逻辑流,使用夹板检测总是错误的
【发布时间】:2020-10-14 00:17:42
【问题描述】:

可以用夹板设置一个标志来检测这个逻辑错误吗?

if((a > 0) && (a == 0)){...}

第二个变量a 是一个错字。应该是b。

我尝试过+ifempty 和+ifblock,结果发现它们是为了别的目的。有什么建议?还是超出了夹板?

【问题讨论】:

  • 看了relevant documentation section之后,我认为这超出了工具的能力范围。
  • 夹板早已过时且过时。使用更现代的工具(如 clang/llvm 的静态分析器)可能会更好。

标签: c static-code-analysis splint


【解决方案1】:

PVS-Studio 可以使用V560 诊断找到此类错误。示例:https://godbolt.org/z/JA-Kmm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2019-03-05
    相关资源
    最近更新 更多