0
我正在使用Exuberant Ctags v5.8和我想生成标签文件的C源代码示例如下,谢谢!如何使用ctags为c源代码生成适当的标签文件?
#define PACK(x) __packed x
typedef PACK(struct) {
int a;
int b;
int c;
} my_struct;
PACK(void *) my_func(PACK(void *) var1, int var2)
{
*var1 = var2;
return var1;
}
这是生成的标记文件的内容:
,而我的预期标记文件的内容应如下:
!_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 /[email protected]/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.8 //
a test.c /^ int a;$/;" m struct:__anon1 file:
b test.c /^ int b;$/;" m struct:__anon1 file:
c test.c /^ int c;$/;" m struct:__anon1 file:
my_func test.c /^void * my_func(void * var1, int var2)$/;" f
my_struct test.c /^} my_struct;$/;" t typeref:struct:__anon1 file:
我怎样才能得到后者的标签来自原始C源文件的文件?谢谢!
@CodieCodeMonkey请检查我的问题更新。谢谢! – shark 2014-10-20 09:43:26
对不起,对于迟到的回复,我唯一能想到的就是做一些预处理,例如,将AWK放入并行目录树中,用x替换PACK(x)。在并行树上运行ctags。 Exuberant ctags使用相对路径,因此您可以将标记文件移回原始目录树。 – 2015-02-04 21:07:32