7

c99 コードの静的アナライザーとして splint を使用しています。

Splint は 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 ループを適応させたくないので、この問題を解決するパッチが利用可能かどうか疑問に思っています。

4

1 に答える 1

3

まだ答えがないので、スプリントの記事に関するウィキペディアの記事を引用します

Splint の最近の開発活動は大幅に減速しています。SourceForge の CVS によると、2009 年 1 月の時点で、リポジトリの最新の変更は 2008 年 8 月でした。2008 年全体で、リポジトリへの書き込みアクセスは 2 回だけでした。メンテナは、開発が停滞しており、プロジェクトには新しいボランティアが必要だと言っています。

ループ ヘッドで変数を宣言することは C99 に準拠しているため (そして議論可能な好ましいスタイル)、これが修正されるまでは添え木を控える必要があります。

于 2012-08-15T15:02:15.440 に答える