C - ctags 未获取返回值类型高于函数名称的函数



我正在使用一些具有以下风格的代码:

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可以找到它。

相关内容

最新更新