ctags의 부족함을 채워주는 cscope

2012, Mar 10    

ctags도 소규모 프로젝트일 경우 부족함이 없지만 
c언어 말고 다른 언어로 작성된 프로젝트라든지
지역변수나 전역변수로 사용된 것도 찾아주는 cscope툴을 소개합니다.

일단 설치부터 다음과 같이 간단히 가능합니다.

그리고 분석하고 싶은 프로젝트로 가서 
#find ./ -name *.[chS] -print > cscope.files
명령어를 치면 cscope.files가 생깁니다.
이 파일은 find 명령어를 가지고 분석할 소스를 cscope.files로 출력시키는거죠ㅋ

</p>

그런 다음 다음과 같이 명령어를 칩니다.</p>

그럼 아래와 같이 cscope.files를 가지고 데이터베이스를 만듭니다.  

여기서 나갈때는 ctrl+D를 누르시면 됩니다. 

파일리스트를 보면 cscope.out이 생겼습니다.

</div>


 vim에서 cscope를 사용할 수 있도록 설정을 합니다.

인제 사용법을 알아 봅시다. 


vi의 명령 모드에서 사용할수 있는데
사용법은
:cs find (질의 종류) (심벌) 

*cscope 검색유형

- 0 (s) : C 심볼을 검색

- 1 (g) : 정의

- 2 (d) : 이 함수에 의해 호출되는 함수 검색

- 3 (c) : 이 함수를 호출하는 함수 검색

- 4 (t) : 텍스트 문자열 검색

- 5 (e) : 확장 정규식 사용해서 검색

- 7(f) : 파일 이름 검색

- 8(i) : 이 파일을 include
하는 파일 검색

 
ex)  
:cs find 0 task_struct</p>

 </span>cs find 0 task_struct를 쳐봅시다.

이렇게 많은 곳에서 발견했다고 어디로 가고 싶냐고 묻습니다. 저는 1번 ㅋ

해당 되는 곳으로 왔습니다. ㅋ