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