2012-04-21 37 views
4

我正在使用夹板作为c99代码的静态分析器。splint:for循环中的解析错误

Splint似乎不符合c99标准。因此,我已经应用这个补丁: http://www.cs.virginia.edu/pipermail/splint-discuss/attachments/20080718/52cc25f6/attachment.obj

现在我没有得到任何解析错误由于申报不beeing在上面。

但我仍然得到解析错误在for循环,如果我把for语句声明一个变量。 例如:

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

一种解决方法是把它写这样的:

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

但我不想去适应所有的for循环,我想知道是否有可用的补丁,它解决了这个问题。

+2

如果没有我真的希望你不要修改你的代码只是为了让夹板开心。 – ThiefMaster 2012-04-21 09:00:41

+0

我没有得到您的评论。 – tobias 2012-04-21 09:37:18

+0

那么,你宁愿忽略来自夹板的抱怨,而不是修改你的代码来保持它的快乐,即使它让你的代码变得更糟。 – ThiefMaster 2012-04-21 09:37:45

回答

2

由于没有答案,我只是引述上夹板article维基百科的文章

上夹板最近开发活动已经显著放缓。 根据SourceForge的CVS,截至2009年1月,存储库中最近的更改为2008年8月。2008年全年只有两次对存储库的写入访问。维护者有 表示发展停滞不前,项目需要新的志愿者 。

由于在循环头部声明变量是C99标准(和argueable最好方式),你应该避免夹板直到这是固定的。