J'ai quelques grands projets que je travaille dans mon nouveau lieu de travail, qui dispose d'un ensemble compliqué de dépendances de la bibliothèque liées statiquement liées entre elles. p>
Le nombre de Libs environ 40-50 et il est vraiment difficile de déterminer ce que la structure était initialement censée être, il n'y a pas de documentation claire sur la carte de dépendance complète. P>
Quels outils voudraient-ils recommander d'extraire de telles données? p>
Vraisemblablement, de la manière la plus simple, si ce sont les suivants: p>
Définissez l'ensemble des chemins correspondant aux unités de bibliothèque p> li>
Définissez tous les fichiers .cppr / .h dans ceux qui appartiennent à ces unités de compilation p> li>
capture la 1ère commande #incluez l'arborescence de dépendance p> li> ol>
On aurait assez d'informations pour composer une carte - refacteur - et recomposer la carte, jusqu'à ce que l'on ait créé une certaine commande. P>
Je note que http://www.ndepend.com a quelque chose de gentil mais c'est exclusivement .NET Malheureusement. p>
J'ai lu quelque chose à propos de Doxygen pouvant accomplir une analyse de dépendance statique avec la configuration; Quelqu'un a-t-il déjà appuyé sur le service pour accomplir une telle tâche? P>
6 Réponses :
Maintenant c'est ce que je cherchais. Je me sentais jaloux de ce que le produit Ndepend pourrait faire. Cependant, ce sont vraiment les montagnes de l'héritage C ++ que nous devons maintenir cela est très cruellement besoin d'outils tels que celui-ci.
Hmm ... Peut-être que je suis dense, mais il semble que CPPdepend (2.8.5) ne permet pas d'afficher les dépendances de fichiers (#include Dépendency). Cela montre une richesse d'informations, mais "seulement" sur le niveau du projet + classe.
Cet outil est excellent pour analyser l'arborescence include: INCLUMANAGER . Vous devriez être capable d'obtenir beaucoup d'informations utiles de cet outil. P>
Dead-Ish Link là-bas.
Merci, cela a l'air un peu obsolète, mais quelques personnes l'ont mentionnée, il a donc dû avoir son apogée à une étape. :)
Comme il avait une source, je pourrais faire des modifications mineures qui ont répondu à mes besoins immédiats. Mais oui, ce n'est pas brillant;)
Je dois commencer à travailler avec un projet C ++ à grande échelle nécessitant une gestion de dépendance, donc naturellement, je regarde autour de certains outils. J'étais surpris à voir que le CPPdepend a été signalé comme le favori ici en tant que licence unique coûte 300 €, alors que Incluelemanager est de 20 £ .. et fait le même travail. Juste au cas où n'importe qui ici a utilisé ou les deux outils, existe-t-il une "bonne" raison pour laquelle je devrais dépenser le supplément de 280 £ (1 £ ~ 1 €) pour le CPPDEPEND? p>
* Veuillez noter que j'aimerais avoir ma propre copie personnelle, de savoir si la société l'a ou non non pertinente. P>
http://github.com/yuzhichang/cppdep peut être ce que vous voulez. Je l'ai écrit pour analyser les dépendances entre composants / packages / groupes d'emballages d'un grand projet C / C ++. C'est une réécriture de Dep_utils (ADEP / CDEP / LDEP) qui est fournie par la conception logicielle C ++ à grande échelle de John Lakos. P>
Vous pourrez peut-être utiliser des doxys comme aide, ce qui produit des raccordes représentant les fichiers inclus dans le cadre de la documentation générée. P>
Voir: http://www.doxys.org P>
-Martin p>