Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 夹板:要求不要检查系统标题_C_Static Analysis_Splint - Fatal编程技术网

C 夹板:要求不要检查系统标题

C 夹板:要求不要检查系统标题,c,static-analysis,splint,C,Static Analysis,Splint,有没有办法阻止splint分析包含的系统头、POSIX、libc等。?我使用-warnposix-preproc运行: % splint -warnposix -preproc my.c /usr/include/unistd.h:220:8: Parse Error: Non-function declaration: __BEGIN_DECLS : int. (For help on parse errors, see splint -help parseerrors.)

有没有办法阻止splint分析包含的系统头、POSIX、libc等。?我使用
-warnposix-preproc
运行:

% splint -warnposix -preproc my.c

/usr/include/unistd.h:220:8: Parse Error: Non-function declaration:
    __BEGIN_DECLS : int. (For help on parse errors, see splint -help
    parseerrors.)
*** Cannot continue.
更新:

% splint +posixlib +unixlib -I/path/to/myheaders -I/usr/include/x86_64-linux-gnu my.c

/usr/include/asm-generic/int-ll64.h:19:24: Parse Error:
    Suspect missing struct or union keyword: __signed__ :
    int. (For help on parse errors, see splint -help parseerrors.)
阅读后,我试图消除非标准关键字:

% splint +posixlib +unixlib -D__signed__= -I/path/to/myheaders -I/usr/include/x86_64-linux-gnu my.c

/usr/include/x86_64-linux-gnu/sys/syslog.h:200:66: Parse Error:
    Inconsistent function parameter syntax: __gnuc_va_list :
    <any>. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.
%splint+posixlib+unixlib-D_uuuu-signed_uuu=-I/path/to/myheaders-I/usr/include/x86_64-linux-gnu my.c
/usr/include/x86_64-linux-gnu/sys/syslog.h:200:66:解析错误:
函数参数语法不一致:_gnuc_va_列表:
. (有关分析错误的帮助,请参阅splint-help parseerrors。)
***无法继续。

在这种特殊情况下,将
\uu gnuc\u va\u list
声明为非标准关键字没有帮助。我觉得
splint
是一个强大的工具,但它需要对它解析的几乎所有代码进行注释。我错了吗?

文档:@jxh,谢谢你的评论。请看我的更新。我想知道有没有办法问
splint
根本不检查系统标题?您还应该阅读:正如前面的常见问题解答所建议的那样。@jxh,我做了,但是声明非标准关键字无助于
splint
绕过。我更新了原始帖子。请尝试签名,而不是空的。另外,
+gnuextensions