你好,
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(返回值类型和参数类型都是函数指针)。
谢谢你。
我可以确认这一点,并且旧的 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 修复。
最有用的评论
天啊...这个语法很难:D
我会试着理解它。