2014-12-11 5 views
1

전역 변수를 많이 사용하는 기존 C 코드 프로젝트를 분석 중입니다 (extern 키워드). 내 문제는 키워드가 의존 변수의 .h 파일뿐만 아니라 변수에 액세스 할 필요가있는 다른 .c 파일에서도 사용된다는 것입니다.C 코드에서 전역 변수의 종속성 표시

변수를 선택하고 프로젝트 전체의 모든 액세스 (.c 파일 선택)를 볼 수있는 도구가 있습니까?

매번 검색 기능을 사용할 가능성이 있지만 400 개 이상의 extern 키워드를 다루고 있으므로 검색 이외의 다른 작업은 수행하지 않을 것입니다.

+1

'grep' 또는'find'와'grep'의 조합이 작동해야합니다. –

+3

cscope도 유용한 도구입니다. –

+0

IDE의 많은 부분에는 "사용법 찾기"기능이 있습니다 ... 이클립스의 모든 결함에 대해 이것은 꽤 잘하는 것 중 하나입니다. (물론이 시점에서 IDE로 가져 오는 것은 불가능할 것입니다.) – IdeaHat

답변

0

실제 컴퓨터 과학자 및 명령 행 열광 자와 달리 .. GUI로 속이는 ... Xcode와 같은 IDE를 사용하는 경우 cmd 또는 Ctrl을 누르는 동안 var를 클릭 할 수 있어야합니다. 기호의 선언. 대부분의 IDE를 사용하면 프로젝트 (즉, 모든 파일)를 검색 할 수 있습니다. 즉, var가 사용되는 위치를 찾는 방법입니다. Doxygen은 코드가 잘 문서화되어 있다면 훌륭한 도구입니다. 재귀 적으로 프로젝트 디렉토리에서 실행하고 html 출력을 살펴보십시오.이 출력은 모든 전역 변수 및 상호 참조를 보여줍니다. 이클립스 내에서

+0

저는 GUI 애플리케이션의 팬이기도하지만 또 다른 토론입니다. Eclipse를 사용하고 있으며이 기능을 사용하여 삭제 및/또는 사용을 검색합니다. 그러나 이것은이 경우 나의 필요에 부합하지 않는다. 나는 코드 (리버스 엔지니어링의 종류)를 이해하려고 노력하고 있으며 개요를 원한다. Btw : 그 문서화되지 않았습니다 :-( – Burner

+0

@ 버너 그래, 난 네 고통을 완전히 이해한다! 나는 두 달 전에 같은 상황에 처해 있었다. C로 작성된 여러 개의 커다란 프로젝트를 인수해야했는데 그 모두가 제대로 문서화되지 않았다. 시간이 많이 걸리는 이러한 소스 파일에서의 많은 검색과 나 같은 게으른 사람에게는 커다란 도전이었습니다 : P하지만 코드를 더 잘 이해하고 Doxygen에 대한 문서를 설정해야하기 때문에 기쁘게 생각합니다. 멋진 프로그래밍 기술을 배웠습니다. 장기적으로 볼 때 더 큰 이득입니다. – icdevppl

1

: 변수를 rightlick -> 열기 호출 계층 구조

이 나는 ​​기능에 대해 열린 눈을 유지합니다

(선언 제외) 전체 프로젝트에 대한이 변수의 모든 액세스를 보여줍니다 모듈의 모든 변수를 나열하는 것과 같습니다.