cscope 에서 참조하지 못하는 함수가 있네요..
글쓴이: choco6 / 작성시간: 금, 2007/04/27 - 6:32오후
회사 서버 사이드의 소스를 개발 및 유지보수하고 있는데 소스분석을 위해 cscope를 설치하여 사용중입니다.
그런데 거의 모든 심볼을 참조해주는 cscope에서 참조를 못하는 함수타입이 있네요.. 함수포인터를 인수로 받는 함수는 전혀 참조를 못하더군요..
가령, 다음과 같이 정의된 함수가 있다면..
int initSignalRoleChange( void (*roleChangeAction)(int oldRole, int newRole) ) { ...bla... bla... }
이 함수를 콜하는 부분에서 참조검색을 해봐도 cscope에서는 no match found 만 뿌려대고 함수가 정의된 곳을 찾지 못하네요..
cscope만 믿고 괜히 후임 프로그래머에게 핀잔만 주었네요.. --;;
Forums:
저 역시 한번 고생한 적이 있어서 따로 문제가 있는 경우를 정리
cscope man page 주의 사항 부분 내용입니다.
http://cscope.sourceforge.net/cscope_man_page.html
1. 변수 선언, 함수 정의나 call이 #if 블럭 안에 있는 경우 인식 못 할 수도 있다.
2. #if 문 앞에 오는 typedef 이름은 전역 변수 정의로 부정확하게 인식 될 수 있다.
3. #if 문 앞에 오는 변수 선언은 전역 변수 정의로 인식되지 않을 수 있다.
4. 함수 정의 내부에 선언된 함수 선언은 함수 호출로 인식 될 수 있다.
5. class keywrod만 C++ class로 인식되기 때문에 struct class 내 inline member 함수는 인식하지 못한다.
6. typedef와 같이 쓰이는 class 키워드 역시 정상적으로 인식하지 못한다.
7. operator 연산자 정의 함수는 인식하지 못한다.
8. 함수 포인터가 인자로 오는 함수 정의는 인식하지 못한다.
아~ 이미 정리가
아~ 이미 정리가 되어있던거군요..
잘 읽었습니다. 앞으로 cscope를 이용할 때 참조해야겠네요..
bootmeta님.. 깔끔한 정리 감사합니다.
댓글 달기