2010-11-25 7 views
7

Nach dem Lesen about the pimpl idiom war ich entsetzt!C++: Tool zur automatischen Reduzierung von Kompilierzeitabhängigkeiten

Gibt es kein Tool, das eine .h/.cpp-Datei untersuchen und daraus ableiten kann, auf welche Abhängigkeiten verzichtet werden kann?

+0

Nein, gibt es nicht. Das einzige "Werkzeug", das verlässlich feststellen kann, welche Abhängigkeiten benötigt werden, ist der C++ Compiler selbst ... gab Daniel ein +1, da seine Aussage genau meiner Meinung entspricht. –

Antwort

2

Sorry, aber nein gibt es nicht. C++ basiert immer noch auf Vorverarbeitungs-Quelldateien, sehr mechanisch. Bei der groß angelegten C++ - Entwicklung geht es darum, die Abhängigkeiten zu reduzieren. Meiner Meinung nach ist C++ einfach nicht für solche Aufgaben geeignet.

0

Statische Codeinspektion für C++ ist ein Albtraum, wegen seiner Syntax und des Makro-Präprozessors, bezweifle ich, dass es Werkzeuge wie die von Ihnen beschriebene gibt.

Wenn es existiert, was würden Sie davon erwarten? Möchten Sie, dass Code für Sie refaktoriert/neu geschrieben wird? Hinzufügen und/oder Entfernen was?

Klingt wie eine entmutigende Aufgabe für mich.

+0

Ich würde erwarten, dass es vorschlagen würde, welche Einschlüsse entfernt werden könnten, die durch Forward-Statements ersetzt werden könnten und die gehalten werden müssen – Jonathan

2

Vorkompilieren der Header nicht viele dieser Schrecken zu lösen. Sowohl MS als auch g ++ unterstützen diese jetzt.

+0

Haben Sie eine Referenz dafür? – Jonathan

+1

@ Jonathan Für gcc: http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html, für MS: http://msdn.microsoft.com/en-us/library/szfdksca.aspx – Tom

+0

@ Tom: Nein, eigentlich lösen sie nur ein Problem: * Komplette Neukompilierung * Zeit zu reduzieren. Wenn Ihre vorkompilierten Header außerdem änderbare Header enthalten, verwenden Sie sie missbräuchlich. –