Wie kann ich das C/C++ #include-Diagramm einfach anzeigen? [closed]

Lesezeit: 5 Minuten

Ich suche nach einem Tool (vorzugsweise einem Visual Studio-Plugin), das alle Dateien anzeigt, die in einer bestimmten Datei enthalten sind, und alle Dateien anzeigt, die in diesen Dateien enthalten sind, und so weiter.

  • betrogen? stackoverflow.com/questions/42308/…

    – Johann Kotlinski

    18. Juni 2010 um 12:59 Uhr

  • Ja. Meine Suche hat mich im Stich gelassen.

    – CannibalSmith

    18. Juni 2010 um 13:42 Uhr

  • @JohanKotlinski, ich denke, in diesem Thema geht es nur darum, die Abhängigkeiten zu verfolgen, nicht darum, wie man ein Diagramm erstellt, ein wichtiger Unterschied, meiner Meinung nach.

    – R Sahu

    15. November 2015 um 4:45 Uhr

Zuerst, cinclude2dot.pl ist ein Perl-Skript, das C/C++-Code analysiert und ein #include-Abhängigkeitsdiagramm als Punktdatei zur Eingabe in graphviz erstellt.

http://www.flourish.org/cinclude2dot/

Wenn Sie nicht den Weg eines solchen manuellen Tools gehen möchten, dann ist der zweifellose Gewinner meiner Meinung nach ein Tool namens “IncludeManager“ von ProFactor.

http://www.profactor.co.uk/includemanager.php

Es gibt eine kostenlose Testversion, und es ist großartig. Es ist ein Plug-in für Visual Studio, das vollständig integriert ist, also doppelklicken Sie auf etwas hier drüben führt Sie zu der Stelle, an der es enthalten ist da drüben.

Tooltip-Mouseovers geben Ihnen alle Informationen, die Sie möchten, und Sie können nach unten / oben bohren, ganze Unterbäume entfernen, die Sie nicht interessieren, andere Darstellungen als Diagramme anzeigen, durch eine Liste von Übereinstimmungen für dies und das blättern, es ist wunderbar.

Wenn Sie schnell sind, können Sie die #include-Struktur eines großen Projekts umgestalten, bevor die Testversion abläuft. Trotzdem kostet es nicht viel, etwa 35 US-Dollar pro Lizenz.

Für das, was es tut, ist es fast perfekt. Nicht nur Diagramme einschließen, sondern auch projektübergreifende Abhängigkeiten von gemeinsam genutzten Dateien, Auswirkungen auf Build-Zeiten, detaillierte Eigenschaften in Rastern, perfekt.

  • IncludeManager sieht so aus, als würde es den Trick leicht machen und ist kostengünstig. Ich werde dem eine Chance geben.

    – Boinst

    1. Oktober 2013 um 6:46 Uhr

  • IncludeManager wurde kostenlos veröffentlicht, da sie den Handel eingestellt haben.

    – Silber est

    11. Februar 2020 um 0:10 Uhr

  • cinclude2dot war für mich am nützlichsten, einen einmaligen Blick auf den besten Header zu werfen, der aus einer schlecht dokumentierten Bibliothek aufgenommen werden sollte. Mit dem Befehl graphviz ~/scripts/cinclude2dot.pl | dot -Tsvg > output.svg

    – MHebes

    12. Januar um 14:20 Uhr

Benutzeravatar von kgiannakakis
Kgiannakakis

Sauerstoffmit Hilfe von Graphviz, kann das tun. Sie müssen zuerst eine Konfigurationsdatei bearbeiten. Dies wird beim ersten Mal nicht einfach sein, aber danach ist keine große Bearbeitung erforderlich.

  • Eigentlich ist es in den meisten Fällen einfach – entweder verwenden Sie die Windows-GUI des Doxygen-Assistenten, um es zu generieren, oder führen Sie es von der Befehlszeile aus aus doxygen -g um eine Vorgabe zu generieren Doxyfile Stellen Sie dann sicher, dass Sie die Werte haben INCLUDE_GRAPH und INCLUDED_BY_GRAPH einstellen YES. Möglicherweise müssen Sie Doxygen dann einige Male ausführen und die Ausgabe überprüfen, um die Parameter zu optimieren.

    – der_Mandrill

    22. Juli 2013 um 9:13 Uhr

  • Doxygen funktionierte recht gut, die Windows-GUI-Version benötigte keine Konfigurationseinstellungen, nur einige Informationen für das Projekt, aber das Dokument war innerhalb von 2 Minuten nach der Installation fertig. Ich habe Graphviz eine PATH-Umgebungsvariable erstellen lassen, wahrscheinlich wird sie benötigt, sie fragt während der Installation um Erlaubnis, sie zu erstellen.

    – Beatcoder

    9. August 2021 um 4:02 Uhr

Benutzeravatar von icabod
Icabod

Vielleicht nicht ganz das, was Sie wollen, aber der Visual Studio-Compiler (cl.exe) hat eine Option /showIncludes die Ihnen einen Baum der Includes zeigt, wenn Sie eine Datei kompilieren.

Wenn Sie diese Informationen für eine einzelne Datei wünschen, können Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei klicken, „Eigenschaften“ auswählen und im Abschnitt „Befehlszeile“ einfach /showIncludes zu den „Zusätzlichen Optionen“ hinzufügen. (Beachten Sie, dass ich VC++ 2005 verwende, daher kann es bei neueren Versionen anders sein).

Die Ausgabe, die Sie erhalten, ist ein wenig … verworren, aber sie zeigt Ihnen, was enthalten ist und in welcher Reihenfolge.

Übrigens ist das gleiche Feature in GCC und dem Intel C++ Compiler (zumindest meine Versionen). -H.

Benutzeravatar von wip
wischen

Sie können die von dieser Stack Overflow-Antwort vorgeschlagene Methode ausprobieren:

Es gibt eine C/C++ -> Erweiterte Projekteinstellung “Show Includes”. Das erzeugt den Baum. Es wird dem Compiler-Schalter zugeordnet /showIncludes

Benutzeravatar von Phil Devaney
Phil Devaney

Wenn Sie Visual Studio 2010 verwenden, können Sie das neue verwenden Visualisierungs- und Modellierungs-Feature-Pack von Microsoft, das über eine Funktion zum Generieren eines Include-Diagramms verfügt. Dies ist jedoch nur über ein MSDN-Subskript verfügbar.

  • Wenn das Feature-Pack so nützlich ist, wie es aussieht, verdient dieser Beitrag mindestens 100 Upvotes.

    – James McNellis

    19. Juni 2010 um 4:22 Uhr

  • Auf den Screenshots sieht das Modellierungs-Feature-Pack tatsächlich wie ein Traumwerkzeug aus. Sie benötigen jedoch nicht nur ein MSDN-Abonnement, sondern auch ein Premium oder Ultimate Visual Studio, um sich für den Download zu qualifizieren ;-(

    – Buschnick

    26. Mai 2011 um 8:43 Uhr

  • Und es funktioniert im Allgemeinen NICHT für C++-Projekte.

    – CJohnson

    21. Juni 2013 um 5:23 Uhr

Benutzeravatar von Jens Gustedt
Jens Gustedt

Nicht in Ihren Vorlieben, aber doxygen macht das ganz gut.

  • Wenn das Feature-Pack so nützlich ist, wie es aussieht, verdient dieser Beitrag mindestens 100 Upvotes.

    – James McNellis

    19. Juni 2010 um 4:22 Uhr

  • Auf den Screenshots sieht das Modellierungs-Feature-Pack tatsächlich wie ein Traumwerkzeug aus. Sie benötigen jedoch nicht nur ein MSDN-Abonnement, sondern auch ein Premium oder Ultimate Visual Studio, um sich für den Download zu qualifizieren ;-(

    – Buschnick

    26. Mai 2011 um 8:43 Uhr

  • Und es funktioniert im Allgemeinen NICHT für C++-Projekte.

    – CJohnson

    21. Juni 2013 um 5:23 Uhr

Benutzeravatar von jdehaan
jdehaan

http://www.codeproject.com/KB/applications/includefinder.aspx

Dies ist kein VS-Plug-In, kann aber ein Starter für Ihr eigenes Tool sein. Soweit ich sehen konnte, liest es nur VC6-Projekte, die neueren VS haben ein einfach zu analysierendes XML-Format. Was Sie davon brauchen, sind die standardmäßigen Include-Pfade, damit das Tool die enthaltenen Dateien finden kann. Alternativ könnten Sie in der GUI ein Einstellungsfeld als Benutzereingabe bereitstellen.

1403120cookie-checkWie kann ich das C/C++ #include-Diagramm einfach anzeigen? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy