2011-12-05 3 views
3

일반적으로 큰 C 프로젝트를 분석하려면 grep/GNU 명령 줄 도구 인 lint, 간단한 Python 스크립트를 선호합니다. "C"프로젝트를 분석한다고하면 코드 통계를 수집하고 프로젝트의 구조, 데이터 구조 및 실행 흐름을 이해하고 어떤 함수가 무엇을 호출하는지, 다른 모듈의 진입 점, 정적 멤버, 스레드 등을 이해해야합니다. 객체 지향 코드가 좋다.C++/Objective-C - 큰 프로젝트를 분석하는 방법 (유닉스 방식)?

많은 소스 파일과 여러 디렉토리가 포함 된 큰 C++ (또는 Objective-C) 프로젝트가있을 때마다 클래스 다이어그램, 데이터 필드, 메소드, 메시지, 인스턴스 등을보고 싶습니다.

Unix way 솔루션을 찾고 있습니다. 너 나 좀 도와 줄 수있어?

답변

0

귀하의 요청은 텍스트 기반의 다양한 구조에 대한 다양한 견해에 대한 것입니다.

이들을 혼합 한 Understand for C++을 고려해보십시오. 그것이 ObjectiveC인지 모른다.

우리의 Source Code Search Engine (SCSE)은 다소 제한적이지만 "grep"을 grep보다 훨씬 빠르게 제공합니다. 큰 코드 기반의 경우이 점이 중요합니다. 그것은 여러 언어와 방언을 다룰 것입니다. 우리는 Objective C 언어를 가지고 있지 않지만 Objective C는 거의 같은 어휘 구문을 사용하기 때문에 C 또는 C++ 프론트 엔드가 실제로는 꽤 잘 작동한다고 생각합니다.

0

메시지 전달 및 동적 디스패치로 인해 주변을 돌고있는 경우가 거의 없습니다. 그것은 언어에 의존하지도 않으며, 메시지는 C++ 세계에서도 잘 사용됩니다. 코드를 분석 할 수있는 도구가 없으며 응용 프로그램 흐름이 어떤 모양인지 알 수 있습니다. 이러한 경우 전체 데이터/실행 흐름은 구성 파일, 생산자/소비자 등을 연결하는 방법에 따라 달라질 수 있으며 크게 변경 될 수 있습니다. 운이 좋으면 그림과 전체 아이디어에 대한 설명이있는 고급 설명서가있을 것입니다. 그렇지 않으면 유일한 옵션은 특정 구성에 대해 디버거에서 실행하고 거기에서 무슨 일이 일어나고 있는지 확인하는 것입니다. 단계별로. 이것이 진정한 유닉스 방식이 아닌가?