0

跑步夹板

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

在这条线上暂停:

__thread int cpfs_errno;

出现解析错误:

cpfs.c:127:13:解析错误:非函数声明:__thread:
               诠释。(有关解析错误的帮助,请参阅 splint -help parseerrors。)
*** 无法继续。

检查文档和漱口水没有提到__thread. 然而,它是 Splint 据称支持__thread的 C99 规范的一部分(插入参考)。

这里发生了什么?我怎样才能让夹板识别__thread

4

2 回答 2

6

__thread不在 C99 中。它是一个 GNU C 扩展 - 您链接到的部分位于 C 语言家族的扩展中。它描述了 C99 标准更改方面的扩展,大概是为在未来的标准修订中采用它做准备。

于 2010-09-07T04:54:46.470 回答
3

夹板常见问题解答中,只需添加-D__thread=到夹板命令行。这将具有在__thread夹板检查时从代码中删除关键字的效果。我在这里假设夹板不是特别了解线程,并且无法使用关键字传达给 GCC 的信息。

于 2010-09-07T06:29:49.260 回答