나는 해당 파일에 포함 된 모든 파일을 표시하고 해당 파일에 포함 된 모든 파일을 표시하는 도구 (가능하면 Visual Studio 플러그인)를 찾고 있습니다.어떻게 C/C++ #include 그래프를 쉽게 볼 수 있습니까?
답변
사실, 대부분의 경우 간단합니다. Doxygen 마법사의 Windows GUI를 사용하거나 명령 행에서'doxygen -g'를 실행하여 기본'Doxyfile'을 생성 한 다음'INCLUDE_GRAPH' 값을 가지고 있는지 확인하십시오 'INCLUDED_BY_GRAPH'는'YES'로 설정됩니다. 그런 다음 Doxygen을 몇 번 실행하고 출력을 검사하여 매개 변수를 조정해야합니다. –
환경 설정에 포함되어 있지 않지만 doxygen이이를 잘 수행합니다.
http://www.codeproject.com/KB/applications/includefinder.aspx
이 아닙니다 VS에서 플러그인하지만 자신의 도구에 대한 선발이 될 수 있습니다. 내가보기 엔 VC6 프로젝트 만 읽을 수있는 한, 새로운 VS는 구문 분석하기 쉬운 XML 형식을 가지고 있습니다. 도구가 포함 된 파일을 찾을 수 있도록 기본 포함 경로가 필요합니다. GUI에서 사용자 입력으로 설정 상자를 제공 할 수도 있습니다.
아마도 원하지 않지만 Visual Studio 컴파일러 (cl.exe)에는 /showIncludes
옵션이 있습니다. 그러면 파일을 컴파일 할 때 포함되는 트리가 표시됩니다.
단일 파일에 대한이 정보를 원하면 솔루션 탐색기에서 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택하고 "명령 줄"섹션에서 "추가 옵션"에/showIncludes를 추가하십시오. . (VC++ 2005를 사용하고 있기 때문에 최신 버전에서는 다를 수 있습니다.)
출력은 약간 복잡하지만 포함될 내용과 순서는 무엇인지 보여줍니다.
덧붙여 말하자면, GCC와 인텔 C++ 컴파일러 (적어도 내 버전)의 동일한 기능은 -H
입니다.
Visual Studio 2010을 사용하는 경우 포함 그래프를 생성하는 기능이있는 Microsoft의 새로운 Visualization and Modelling Feature Pack을 사용할 수 있습니다. MSDN subscript를 통해서만 사용할 수 있습니다.
그것이보기에 유용 할 수있는 기능 팩이라면,이 포스트는 적어도 100 개의 upvote가 있어야합니다. –
스크린 샷에서 모델링 기능 팩은 실제로 꿈꾸는 도구처럼 보입니다. 그러나 MSDN 구독뿐만 아니라 다운로드 자격을 얻으려면 Premium 또는 Ultimate Visual Studio가 필요합니다 .-( – BuschnicK
그리고 일반적으로 C++ 프로젝트에서는 작동하지 않습니다. –
먼저 cinclude2dot.pl은 C/C++ 코드를 분석하고 #include 의존성 그래프를 graphviz에 입력하기위한 점 파일로 생성하는 perl 스크립트입니다. 수동 도구의 종류의 길을 가고 싶어하지 않는 경우
http://www.flourish.org/cinclude2dot/
후 지금까지 우승자로 손을 아래로 내 의견에 ProFactor에서 "IncludeManager"로 알려진 도구입니다.
http://www.profactor.co.uk/includemanager.php
는 무료 평가판있다, 그것은 굉장합니다. Visual Studio 용 플러그인으로 완전히 통합되어 있으므로 여기를 클릭하면 이 이니 여기 이 포함 된 곳으로 이동합니다..
툴팁 마우스 오버는 원하는 모든 정보를 제공하며 드릴 다운/업하고 신경 쓰지 않는 전체 하위 트리를 제거하고 그래프 이외의 표현을보고이 목록과 일치하는 목록을 차례로 탐색합니다 멋지다.
재판이 끝나기 전에 큰 프로젝트의 #include 구조를 리팩토링 할 수 있습니다.그럼에도 불구하고 라이센스 당 약 35 달러가 들지 않습니다.
무엇을 위해서, 그것은 거의 완벽합니다. 그래프 포함 #뿐만 아니라 공유 파일의 프로젝트 간 종속성, 빌드 시간에 영향, 그리드의 세부 속성 등이 완벽합니다.
IncludeManager는 쉽게 트릭을 수행하고 저렴한 것처럼 보입니다. 나는 그 하나의 기회를 줄 것이다. – Boinst
당신은 Stack Overflow answer이 제안하는 방법을 시도 할 수 있습니다 :
는 C/C++이 -> 고급 프로젝트 설정 "쇼 포함을". 그 트리를 생성합니다. 컴파일러 스위치에 매핑됩니다. /showIncludes
- 1. 그래프를 그려 결과 이미지를 볼 수 없습니다.
- 2. 어떻게 장면을 볼 수 있습니까?
- 3. Mono의 코드를 어떻게 볼 수 있습니까?
- 4. 가비지 수집을 위해 객체 그래프를 '볼 수 있습니까'?
- 5. 어떻게 일식에 matplotlib 그래프를 그릴 수 있습니까?
- 6. ActiveRecord.Save()에 의해 생성 된 SQL을 쉽게 볼 수 있습니까?
- 7. Template Haskell 선언문의 출력을 쉽게 볼 수 있습니까?
- 8. 누가 특정 링크를 좋아하는지 쉽게 볼 수 있습니까?
- 9. 어떻게 쉽게 무시하고 Mage_Eav_Model_Entity_Collection_Abstract를 사용할 수 있습니까?
- 10. jMeter에서 페이지 오류를 어떻게 볼 수 있습니까?
- 11. MySql Fulltext Indexes는 어떻게 볼 수 있습니까?
- 12. 로그인의 기본 데이터베이스는 어떻게 볼 수 있습니까?
- 13. 피들러에서 파일의 내용을 어떻게 볼 수 있습니까?
- 14. 어떻게 이클립스에서 gdb 추적을 볼 수 있습니까?
- 15. git에서 들어오는 커밋을 어떻게 볼 수 있습니까?
- 16. Rails 개발 로그를 어떻게 볼 수 있습니까?
- 17. 들어오는 요청을 IIS7에서 어떻게 볼 수 있습니까?
- 18. gdb에서 printf의 결과를 어떻게 볼 수 있습니까?
- 19. HSQLDB에서 테이블 구조를 어떻게 볼 수 있습니까?
- 20. Linqpad에서 경고를 어떻게 볼 수 있습니까?
- 21. jQuery 오류는 어떻게 볼 수 있습니까?
- 22. Node.js 오류는 어떻게 볼 수 있습니까?
- 23. 삽입 그래프를 만들 수 있습니까?
- 24. include 파일이 다른 include 파일의 함수를 호출 할 수 있습니까?
- 25. PHP에서 'include() s'의 성능을 어떻게 향상시킬 수 있습니까?
- 26. MySQL 결과를 어떻게 쉽게 루프 할 수 있습니까?
- 27. 설명서를 볼 수 있습니까?
- 28. 다른 PHP 파일에 정의 된 변수를 어떻게 볼 수 있습니까?
- 29. "call-cc"패턴이 스칼라에 있습니까?
- 30. SVM의 분류 그래프를 어떻게 그릴 수 있습니까? R
dupe? http://stackoverflow.com/questions/42308/tool-to-track-include-dependencies –
예. 내 검색 fu가 실패했습니다. – CannibalSmith
@JohanKotlinski, 나는 그 주제가 그래프를 만드는 방법에 대한 의존성을 추적하는 것과 관련이 없다고 생각합니다. 중요한 차이는 IMO입니다. –