我正在使用一些具有以下样式的代码:
int
add5 (int x) {
return x+5;
}
换句话说,函数的返回值类型写在函数名的正上方。正因为如此,ctags
不认识这些功能并让我头疼不已。有人知道如何ctags
处理这种情况吗?
编辑:ctags
可以识别 .c 文件上的函数名,但我需要的是ctags
识别.h
文件上的函数名。在 .h 文件上,我有以下内容:
int
add5 (int);
并有ctags
不承认add5
。
你必须告诉ctags
搜索函数的原型。它是通过--<LANG>-kinds
选项完成的。
因此,运行以下命令:
ctags --c-kinds=+p *
它会将声明添加到tags
文件中,正如您在我的测试输出中看到的那样:
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.8 //
add5 add.h /^add5 (int);$/;" p
在我看来,这听起来像是ctags
在识别函数但没有找到它的声明。
事实上,如果你在头文件中创建这个函数:
int
plus(int a,int b) {
return a+b;
}
ctags
可以找到它。