0

ランニングスプリント

matt@stanley:~/cpfs$ splint -paramuse +gnuextensions cpfs.c

この行で停止します:

__thread int cpfs_errno;

解析エラーの場合:

cpfs.c:127:13:解析エラー:非関数宣言:__ thread:
               int。(解析エラーのヘルプについては、splint -help parseerrorsを参照してください。)
***続行できません。

ドキュメントとうがいをチェックすると、の言及はありません__thread。ただし、これはSplintがサポートしているとされる__threadC99仕様の一部です(参照を挿入)。

何が起きてる?スプリントに認識させるにはどうすればよい__threadですか?

4

2 に答える 2

6

__threadC99にはありません。これはGNUC拡張機能です-リンクしたセクションはC言語ファミリーの拡張機能内にあります。それは、おそらく標準の将来の改訂でそれを採用させるための準備として、C99標準への変更の観点から拡張を説明します。

于 2010-09-07T04:54:46.470 に答える
3

スプリントFAQから-D__thread=、スプリントコマンドラインに追加するだけです。__threadこれは、splintがキーワードを調べている間に、コードからキーワードを削除する効果があります。ここでは、スプリントは特にスレッドを認識しておらず、キーワードによってGCCに伝達された情報を使用できないと想定しています。

于 2010-09-07T06:29:49.260 に答える