Je te renvoie à ce journal http://linuxfr.org/~cykl/12505.html ou un certains nombres de solutions à un problème similaire ont été proposées.
Je l'avais vu un jour où j'avais besoin d'avoir une vue d'ensemble des références croisées pour éditer un projet existant.
J'ai finalement utilisé doxygen, qui si on le configure bien peut dire pour chaque fichier source, quels fichiers (.h) il utilise, et pour chaque .h, quels .c l'utilisent. De même, on a les dépendances des fonctions dans les deux sens, ainsi que des variables (globales).
Les dépendances sont disponibles sous forme de liste de texte, et de graphiques.
Par contre pour de tres gros projets, il semblerait que doxygen n'arrive pas à tout gérer, et certaines dépendances ne sont pas enregistrées...
Comme j'ai un peu galéré avant d'avoir l'ensemble de ces infos, pour info, voila le doxygen.cfg que j'ai utilisé pour analyser le projet:
# [reponse] / doxygen
Posté par daggett . En réponse au message Dépendances entre modules. Évalué à 2.
Je l'avais vu un jour où j'avais besoin d'avoir une vue d'ensemble des références croisées pour éditer un projet existant.
J'ai finalement utilisé doxygen, qui si on le configure bien peut dire pour chaque fichier source, quels fichiers (.h) il utilise, et pour chaque .h, quels .c l'utilisent. De même, on a les dépendances des fonctions dans les deux sens, ainsi que des variables (globales).
Les dépendances sont disponibles sous forme de liste de texte, et de graphiques.
Par contre pour de tres gros projets, il semblerait que doxygen n'arrive pas à tout gérer, et certaines dépendances ne sont pas enregistrées...
Comme j'ai un peu galéré avant d'avoir l'ensemble de ces infos, pour info, voila le doxygen.cfg que j'ai utilisé pour analyser le projet:
=============
# Doxyfile 1.4.1 -*-sh-*-
PROJECT_NAME= le_nom_du_projet
CREATE_SUBDIRS=NO
OUTPUT_DIRECTORY = proj_doxygenifié
ALWAYS_DETAILED_SEC=YES
OPTIMIZE_OUTPUT_FOR_C=YES
EXTRACT_ALL=YES
EXTRACT_PRIVATE=YES
EXTRACT_STATIC=YES
EXTRACT_LOCAL_METHODS=YES
WARN_IF_UNDOCUMENTED=NO
WARN_IF_DOC_ERROR=NO
WARN_LOGFILE=doxywarn.log
INPUT=project_src_dir
FILE_PATTERNS=*.c *.h
RECURSIVE=YES
ENABLE_PREPROCESSING = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
SOURCE_BROWSER=YES
INLINE_SOURCES=YES
STRIP_CODE_COMMENTS=NO
ALPHABETICAL_INDEX=YES
GENERATE_TREEVIEW=YES
PDF_HYPERLINKS=NO
USE_PDFLATEX=NO
LATEX_BATCHMODE=NO
GENERATE_MAN=NO
MAN_LINKS=NO
GENERATE_XML=NO
GENERATE_LATEX=NO
CLASS_DIAGRAMS=NO
HAVE_DOT=YES
CLASS_GRAPH=NO
COLLABORATION_GRAPH=YES
GROUP_GRAPHS=NO
CALL_GRAPH=YES
GRAPHICAL_HIERARCHY=YES
DOT_MULTI_TARGETS=YES
=========