Ctags: C: 一个函数被检测为变量

创建于 2016-06-29  ·  3评论  ·  资料来源: universal-ctags/ctags

你好,

ctags e5b7a2508db6e1374ea78a300cc9b45f4b26b02a 在 Wireshark 库的头文件 epan/except.h 中将函数检测为变量:

WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

命令

ctags -x --c-kinds=fpvx --language-force=c epan/except.h | grep except_unhandled_catcher

返回:

except_t variable 100 epan/except.h WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

但是它是一个函数 except_unhandled_catcher(返回值类型和参数类型都是函数指针)。

谢谢你。

Parser buenhancement

最有用的评论

天啊...这个语法很难:D
我会试着理解它。

所有3条评论

我可以确认这一点,并且旧的 C 解析器做对了。 在任何一种情况下,忽略/删除WS_DLL_PUBLIC都不会改变任何内容。

$ ./ctags -x --OldC-kinds=+pv --languages=OldC /tmp/1012.c
except_unhandled_catcher prototype     1 /tmp/1012.c      WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

天啊...这个语法很难:D
我会试着理解它。

这应该由 #1119 修复。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

lvc picture lvc  ·  8评论

sparkcanon picture sparkcanon  ·  3评论

cweagans picture cweagans  ·  13评论

EvanCarroll picture EvanCarroll  ·  14评论

songouyang picture songouyang  ·  15评论