2016-08-16 2 views
1

함수에 대한 ctags를 어떻게 생성하고 typedef와 struct를 무시합니까? ctags --declarations --output=tags program.c을 시도했지만 수동으로이 기능을 구문 분석해야합니다. ctags -x --c-kinds=fp path_to_file. 2하지만, 나는 다음과 같은 오류가 발생합니다 : 나는 시도했다ctags로만 함수를 가져 오는 방법

ctags: unrecognized option '--c-kinds=fp' 
    Try `ctags --help' for a complete list of options. 

편집 :

ctags -x --c-types=f ./prog.c 

사람들을위한 : 나는 무성한 설치 후 다음은 함수 헤더를 얻기 위해 트릭을 수행 누가이 질문을 우연히 발견하는지, 전체 기능 (헤더 및 본문)을 원한다면 스크립트를 작성해야합니다. 그러나 그렇게 어려운 것은 아닙니다. 필자는 본질적으로 함수 헤더를 인덱스로 사용하고 있습니다. 고유 한 색인을 얻기 위해 각 함수 헤더가 파일에서 어디에 있는지 읽고 읽습니다. 일부 함수 이름은 동일하므로 코드를 반복하고 잠시 사용하여 코드가 추가 될 때까지 코드를 추가하고 계속 살펴 봅니다 당신의 색인 목록에있는 그것들과 다른 색인. 튜플 목록에 함수 이름과 위치를 저장 한 다음 목록을 오름차순으로 정렬합니다. 그런 다음 첫 번째 함수의 맨 위에서 시작하여 목록의 다음 함수로 코드 추출 함수를 읽습니다. 상황에 따라 약간의 변형이 필요할 수 있습니다.

답변

1

Exuberant Ctags을 사용하고 있는지 확인하십시오. 내 시스템에서 :

$ ctags --version 
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert 
    Compiled: Nov 11 2010, 03:54:52 
    Addresses: <[email protected]>, http://ctags.sourceforge.net 
    Optional compiled features: +wildcards, +regex 

시스템은 상징적 ctagsetags를 연결해야합니다. 이렇게하면 오류 메시지가 복제됩니다.

ctags -x --c-types=f source.c|cut -c51- |sed -e 's/$/;/g' > header.h 
:
ctags: Unknown option: --foo 
0

당신이 당신의 소스에서 함수 선언을 생성해야하는 경우

, 당신은 쉽게 조금 ctags를하고 나오지도 마법을 수행 할 수 있습니다 그러나, 무성한 Ctags는를 사용하여 알 수없는 옵션 오류로 표시
관련 문제