• # [reponse] / doxygen

    Posté par . En réponse au message Dépendances entre modules. Évalué à 2.

    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:

    =============



    # 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

    =========