【问题标题】:splint: parse error in for loop夹板:在 for 循环中解析错误
【发布时间】:2012-04-21 08:32:35
【问题描述】:

我正在使用夹板作为 c99 代码的静态分析器。

夹板似乎不太符合 c99。因此我应用了这个补丁: http://www.cs.virginia.edu/pipermail/splint-discuss/attachments/20080718/52cc25f6/attachment.obj

现在我没有收到 解析错误,因为声明不在顶部。

但如果我在 for 语句中放入变量声明,我仍然会在 for 循环中遇到 解析错误。 例如:

for(int i = 0; i < 10; i++)
{
}

解决方法是这样写:

int i;
    for(i = 0; i < 10; i++){
    }

但由于我不想调整我所有的 for 循环,我想知道是否有可用的补丁可以解决这个问题。

【问题讨论】:

  • 如果没有我真的希望你不要为了让夹板开心而修改你的代码。
  • 我没有得到你的评论。
  • 好吧,你宁愿忽略来自夹板的抱怨,而不是修改你的代码以保持它的快乐,即使它使你的代码实际上变得更糟。
  • 这没有帮助,因为这不是夹板的警告,而是解析错误。因此它停止处理我的代码。
  • 那么我会考虑完全不使用夹板——它显然已经过时了。

标签: c static-analysis splint


【解决方案1】:

由于还没有答案,我只引用维基百科关于夹板的文章article

最近 Splint 的开发活动明显放缓。 根据 SourceForge 的 CVS,截至 2009 年 1 月,最 存储库最近的变化是在 2008 年 8 月。全年 2008 年只有两次对存储库的写访问。维护者有 表示发展停滞,项目需要新 志愿者。

由于在循环头中声明变量是符合 C99 标准的(并且有争议的更可取的风格),在此问题得到解决之前,您应该避免使用夹板。

【讨论】:

    猜你喜欢
    • 2015-07-03
    • 2015-10-04
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 2015-05-05
    相关资源
    最近更新 更多