È necessario automaticamente costruire diagrammi di flusso con codice C++, idealmente un diagramma di flusso per file di origine. C'è qualche strumento (preferibilmente C++/Python e open-source o altamente configurabile - quindi posso cambiare l'aspetto) che posso usare per creare diagrammi di flusso?Generazione automatica di diagrammi di flusso dal codice C++
risposta
clang/llvm
può generare graphviz dot files.
Esempio:
clang -S -emit-llvm -o hello.ll hello.cpp
opt hello.ll -dot-cfg -o hello.dot
Questa uscita diversi .dot
file, uno per ogni funzione definita in hello.cpp
. È inoltre possibile generare grafico di dominanza, grafico di posizione dominante e altro (vedere here).
Dopo aver i file .dot
è possibile utilizzare dot
per convertirlo in un file .png
. Il file .dot
contiene solo la struttura del grafico, quindi l'output di dot
deve essere altamente configurabile (ma non ho molta familiarità con esso).
Grazie per il suggerimento! I file .dot sono davvero grandi per il compito che ho. – Konstantin
strumento Architetto Utilizzare Enterprise.
è possibile generare diagramma di sequenza, mentre il debug del codice.
Dimostrazione: Online Demo
Nota: - Questo funziona con codice C++ pure. Basta usare il debugger nativo.
Grazie per il suggerimento. È configurabile, posso cambiare l'aspetto dei grafici lì? Il grafico risultante nella demo che hai menzionato è di tipo ... – Konstantin
No, quelli sono diagrammi di sequenza. I diagrammi di sequenza oi diagrammi di attività sono validi per la base di codice orientata agli oggetti e la tua domanda è su C++. Se si desiderano diagrammi di flusso specifici, utilizzare Code designer di razzi. http://www.rapidqualitysystems.com/ – user1
Se non ti interessa l'output in testo normale, "cflow" farà il lavoro. È nei repository di almeno Debian e probabilmente nella maggior parte delle distro di Linux.
Sembra che cflow crei i grafici delle chiamate ma ho bisogno dei diagrammi di flusso (come funziona l'algoritmo) – Konstantin
Ah. Sì, sta analizzando la tua fonte staticamente, quindi se vuoi sapere come il tuo programma scorre effettivamente in fase di runtime, non ti aiuterà. – JorenHeit
- 1. C'è un modo per generare automaticamente diagrammi di flusso di dati e diagrammi di flusso?
- 2. Esiste un'alternativa (gratuita) a Visustin, Ho bisogno di creare diagrammi di flusso dal codice JavaScript esistente
- 3. Generazione automatica gui in C#
- 4. Che cosa usi per creare diagrammi di flusso, diagrammi, ecc.?
- 5. Generazione codice MATLAB C++
- 6. Creazione di diagrammi di tipi ERD dal codice Rails
- 7. Strumento di generazione codice C#
- 8. Generazione di diagrammi UML in Android Studio
- 9. Generazione di diagrammi UML da sorgenti Scala
- 10. Generazione di diagrammi UML da rappresentazione testuale
- 11. Generazione automatica di codice per Strings.xml da Eclipse
- 12. Come posso generare diagrammi di sequenza dal codice sorgente Java?
- 13. Generazione automatica Id IdGeneratorStrategy
- 14. Generazione codice C++
- 15. Generatore di diagrammi di flusso dai file di origine
- 16. diagrammi UML Generazione utilizzando NetBeans 7.2
- 17. Generazione automatica di un'AppSettings fortemente tipizzato classe
- 18. Generazione ripetibile di codice oggetto C++
- 19. Generazione automatica di codice da una classe C# a equivalente JavaScript
- 20. Generazione automatica di nuove istanze di un ruolo di lavoro
- 21. Diagrammi del diagramma di flusso rispetto ai diagrammi di attività UML
- 22. Codice di formattazione automatica
- 23. C++ lettura di caratteri non firmati dal flusso di file
- 24. Generazione codice C++ con Python
- 25. diagrammi di flusso in d3js utilizzando dagre-d3 o colajs
- 26. Generazione automatica di classi di simulazione per gmock
- 27. Generazione di diagrammi HighStock lato server con NodeJS
- 28. Generazione del grafico di chiamata dal codice src matlab
- 29. Generazione del diagramma di classe UML dal codice Smalltalk
- 30. Generazione di una vista SQL dal codice EF 6.1 prima
Sono a conoscenza di Enterprise Architect http://www.sparxsystems.com/enterprise_architect_user_guide/9.2/execution_analyzer/generating_sequence_diagram.html in grado di generare diagrammi di sequenza in background mentre si esegue il debug del codice. Una volta terminato il debug, ti viene chiesto di salvare il diagramma generato. Tutte le funzioni in cui sono stati impostati i breakpoint e quelli effettivamente colpiti durante la sessione di debug sono trattati nel diagramma di sequenza generato. – user1
Quindi EA fornisce un'analisi * dinamica *, non un'analisi statica. –