Toutes les bonnes suggestions ? Entrée sera le nom d’un fichier d’en-tête et de sortie doit être une liste (un arbre de préférence) de tous les fichiers dont il directement ou indirectement.
Réponses
Trop de publicités?Si vous avez accès à GCC / G ++, puis la `` option va afficher la liste des dépendances. Il ne fait pas tout les choses supplémentaires que les autres outils, mais puisque c’est en venant le compilateur, il n’y a aucune chance qu’il ira chercher les fichiers depuis le « mauvais » endroit.
Pour un poids lourd de la solution, vous devriez vérifier Doxygen. Il scanne votre base de code et est livré avec un site web, effectivement, que les documents de votre code. Une des nombreuses choses qu'il montre c'est d'inclure les arbres.
Si vous cherchez à être en mesure de raccorder la sortie de cet outil dans un autre processus, alors cela peut ne pas fonctionner pour vous (bien que Doxygen est-il des résultats à d'autres formats, je ne suis pas très familier avec cette fonctionnalité). Si vous voulez simplement globe oculaire les dépendances, cependant, il devrait fonctionner à merveille.
J’ai joué un peu avec un outil appelé cinclude2dot. Il a été très utile pour obtenir un handle un assez grand codebase lorsque je suis venu travailler ici. J’ai effectivement pensé à intégrer dans notre quotidien build finalement.
Tout d'abord, cinclude2dot.pl est un script perl qui analyses de code C/C++ et produit un #include graphe de dépendance comme un point de fichier pour l'entrée en graphviz.
http://www.flourish.org/cinclude2dot/
Si vous ne voulez pas aller dans le sens de ce genre d'outil manuel, puis les mains vers le bas, de loin, le gagnant est à mon avis un outil appelé "IncludeManager" de ProFactor.
http://www.profactor.co.uk/includemanager.php
Il y a un essai gratuit, et il est génial. C'est un plug-in pour Visual Studio qui est totalement intégré, de sorte double-cliquant sur quelque chose de plus ici vous emmène à l'endroit où il est inclus là-bas.
Info-bulle mouseovers vous donner toutes les infos que vous voulez, et il vous permet de forer vers le bas / vers le haut, retirez l'ensemble des sous-arborescences vous ne se soucient pas, à la vue des représentations autres que graphiques, pour parcourir une liste de résultats correspondant à ceci et cela, c'est merveilleux.
Si vous êtes rapide à ce sujet, vous pouvez restructurer la structure #include grands projets avant la période d'essai. De même, il ne coûte pas beaucoup, environ 35 $par licence.
Pour ce qu'il fait, il est à peu près parfait. Non seulement #inclure des graphiques, mais aussi de la croix les dépendances d'un projet de partage des fichiers, l'impact sur les temps de construire, les propriétés détaillées dans les grilles, parfait.