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
늦게 답장을 드려 죄송합니다.하지만 제가 생각할 수있는 유일한 것은 사전 처리 작업을하는 것입니다. AWK를 사용하여 PACK (x)를 x로 대체하는 병렬 디렉토리 트리에 추가합니다. 병렬 트리에서 ctags를 실행하십시오. Exuberant ctags는 상대 경로를 사용하므로 태그 파일을 원래 디렉토리 트리로 다시 이동할 수 있습니다. –