C: Diagramming una grande biblioteca [chiusa]
-
08-10-2019 - |
Domanda
C'è qualche strumenti per aiutare in diagrammi un grande biblioteca C? Sto lavorando su un progetto per porto una libreria C ++ esistente C. La libreria C è in gran parte senza documenti e senza schemi. Vorrei utilizzare uno strumento CASE per aiutarmi a capire come i vari file interagiscono. C'è variabili extern nella maggior parte dei file.
Se possibile preferirei un diagramma visivo per capire meglio il flusso del codice. Non ho familiarità con uno strumento di diagrammi per lanagues procedura interessata (o se esiste ancora). Mi ricordo che in un college che usiamo per la gerarchia uso e dati di flusso diagrammi per le lingue della procedura interessata.
So che esiste molti strumenti per diagrammi Lanaguages ??OO, ma vorrei uno per C. Qualsiasi aiuto sarebbe apprezzato.
Suggerimenti :
- CodeProject Tutorial
- Doxygen ufficiale Tutorial
- StackOverflow Forza Undocumented codice C
- Ricordate di scaricare Graphviz se si vuole una rappresentazione grafica e impostare il percorso di punti vale a dire: "C: \ Programmi \ Graphviz2.26.3 \ bin \ "
Si può aiutare in tre modi:
E 'possibile generare un on-line browser per la documentazione (in formato HTML) e / o un manuale di riferimento off-line (a) da un insieme di file sorgenti documentati. C'è anche il supporto per generare Uscita in formato RTF (MS-Word), PostScript, PDF collegamento ipertestuale, compresso HTML, e pagine man UNIX. La documentazione è estratta direttamente dalle fonti, che lo rende molto più facile mantenere la documentazione coerente con la codice sorgente. È possibile configurare doxygen per estrarre la struttura del codice da file di origine non documentati. Questo è molto utile per trovare rapidamente la tua strada in grandi distribuzioni di origine. Puoi anche visualizzare le relazioni tra i vari elementi mediante includere dipendenza grafici, ereditarietà diagrammi e diagrammi di collaborazione, che sono tutti generati automaticamente. Si può anche abusare `' doxygen per la creazione di documentazione normale.
- opensource / licenza accademica e commerciale (MSVS plugin)
Migliorare la qualità del codice di base. CppDepend è uno strumento che semplifica la gestione di un complesso C \ C ++ (Nativo, misto e COM) base di codice. architetti e gli sviluppatori possono analizzare la struttura del codice, specificare regole di progettazione, fare efficace revisioni del codice e l'evoluzione master confronto tra diverse versioni del codice. Questi casi di studio mostra il l'utilità di CppDepend di avere un profondo vista della vostra architettura, design e implementazione. Refactoring e migliorare il tuo design e architettura. CppDepend fornisce grafici utili a analizzare il design e l'architettura. linguaggio CQL ti dà una flessibilità per creare le query personalizzate e hanno una visione profonda della vostra base di codice. ecco un campione di usare per aiutare CppDepend il vostro refactoring. assistere il vostro migrazione. Comprendere l'attuale migrazione. CppDepend ti aiuta nella tua processo di migrazione, che potete trovare qui i vantaggi di usare CppDepend in il processo di migrazione.
- (nedit, vim, emacs) VIM TUTORIAL
- I nomi delle classi
- definizioni di macro
- nomi di enumerazione
- enumeratori
- definizioni di funzioni
- Funzione prototipi / dichiarazioni membri
- classe, interfaccia, struct, e dati unione
- nomi delle strutture
- typedef
- nomi sindacali
- variabili (le definizioni e le dichiarazioni esterne)
- (linea di cmd, vim) VIM TUTORIAL
- consente al codice alla ricerca di:
- tutti i riferimenti a un simbolo
- Definizioni globali
- funzioni chiamate da una funzione
- le funzioni di chiamata di una funzione
- stringa di testo
- modello di espressione regolare
- un file
- file tra cui un file
Soluzione
Doxygen può generare vari tipi di diagrammi di interazione - file, chiamate di funzione, ecc Con la configurazione EXTRACT_ALL set di variabili, genererà diagrammi e documenti con riferimenti incrociati, anche per il codice, senza commenti di documentazione.
Altri suggerimenti
CppDepend , se si lavora su Windows, si estende Doxygen con un linguaggio di query e la capacità di muoversi nel grafico delle dipendenze.
Doxygen come detto da Nick Meyer è probabilmente una buona scommessa. È anche possibile provare i classici riferimenti incrociati strumenti ctags e cscope, che è possibile utilizzare come strumenti stand-alone o integrato con il vostro editor di testo.