Lo que estoy buscando es una herramienta que proporcione un gráfico de dependencias de archivos (con algunas personalizaciones introducidas, como --maxdepth, etc.)¿Herramienta de código abierto para visualizar las dependencias de archivo de cabecera C/C++?
Respuesta
veces antes. siempre la misma respuesta - doxygen.
doxygen tiene un gráfico de dependencias de archivos como una de sus varias salidas. Puede que no sea exactamente lo que quieres, pero es un comienzo.
Sé que no es de código abierto (ni Linux, que no menciona en su pregunta, pero está en sus etiquetas), pero he encontrado que la mejor solución para este problema es ProFactor IncludeManager: fue el mejor Responda a un question I asked que es casi una pregunta exacta de su pregunta, menos el bit de código abierto (de ahí que no haya marcado su pregunta como una trampa para mí).
Parece una muy Herramienta útil. Doxygen es bastante útil para mostrar inclusiones de archivos (especialmente las inclusiones entre árboles de directorios), pero necesita una herramienta como esta para evaluar el efecto de ellos y analizar el efecto de eliminar dependencias innecesarias. –
Para los impacientes, que, como yo, sólo quiero una lista de comandos y no Rtfm :) Así que sin más preámbulos (suponiendo que tiene Debian, o su clase) ...
En primer lugar, instale y Doxygen graphviz (que proporciona `dot' para dibujar gráficos dirigidos):
apt-get install doxygen graphviz
a continuación, decirle Doxygen para generar un archivo de configuración inicial que después podemos modificar manualmente:
doxygen -g
Esto dará lugar a un nuevo archivo de configuración, llamado Doxyfile, generado en el directorio actual. Luego puede modificarlo con su editor de texto favorito. Asegúrese de establecer los indicadores siguientes a los valores especificados:
HAVE_DOT = YES
RECURSIVE = YES
EXTRACT_ALL = YES
GENERATE_LATEX = NO # Unless you want LaTeX output besides the HTML ...
También puede ser que desee configurar las dos banderas siguientes para contar Doxygen donde para generar la documentación (que es básicamente un montón de archivos organizados en un directorio estructura):
PROJECT_NAME = Foobar
OUTPUT_DIRECTORY = /tmp/foobar/doc
Todo lo que queda es decirle doxygen a hacer su cosa:
cd foobar/src
doxygen ~/Doxyfile # Assuming you saved Doxyfile in your home directory.
Ahora, si tienes suerte, puede apuntar su navegador en el archivo /tmp/foobar/doc/html/index.html, seleccione la pestaña "Archivos", y luego haga clic en un archivo de encabezado para ver dos buenos gráficos: uno muestra qué archivos de encabezado están incluidos en su archivo de encabezado (directamente o indirectamente), mientras que el otro muestra qué otros archivos incluyen directa o indirectamente el archivo de encabezado dado.
+1: Ah, hermosa respuesta. Solo estaba tratando de usar Doxygen para generar un gráfico de archivos incluidos y me pregunté por qué no funcionó. Resultó que 'EXTRACT_ALL' no estaba configurado en' SÍ'. –
- 1. Makefile, dependencias de cabecera
- 2. Herramienta para mostrar las dependencias de ensamblaje
- 3. ¿Herramienta para visualizar el flujo de código en Java?
- 4. Herramienta para visualizar el flujo de código (C/C++)
- 5. Herramienta de informe PHP de código abierto
- 6. herramienta de diagramación ER de código abierto para mysql
- 7. Herramienta para descubrir dependencias de código .NET (no VS2010)
- 8. Una herramienta de código abierto para Glassfish Performance Monitoring
- 9. Herramienta para rastrear #include dependencias
- 10. ¿Cómo lidiar con dependencias de código abierto muertas?
- 11. de código abierto herramienta de gestión de metadatos
- 12. Herramienta de migración de datos de código abierto
- 13. ¿Hay alguna herramienta de línea de comando de código abierto para refactorizar el código de Java?
- 14. ¿Cuál es su herramienta de depuración de código abierto favorita?
- 15. ¿La mejor herramienta para visualizar ontologías?
- 16. Herramienta de compilación y administración de dependencias para JavaScript
- 17. Herramienta de código abierto para encontrar el código de C# inalcanzable/no utilizado
- 18. ¿Existe alguna herramienta para visualizar un flujo web de grails?
- 19. Herramienta para leer y visualizar versiones .class de Java
- 20. C++ herramienta para visualizar la alineación de la memoria?
- 21. ¿Alternativa de código abierto para Mathworks Polyspace?
- 22. Herramienta de creación de consultas de código abierto para Microsoft SQL Server
- 23. ¿Las extensiones reactivas son de código abierto?
- 24. ¿Cómo puedo visualizar dependencias jar (no complemento)?
- 25. Herramienta de línea de comandos para encontrar dependencias Dll
- 26. C++: herramienta para reducir las dependencias de tiempo de compilación automáticamente
- 27. herramienta de código abierto para el estrés, pruebas de carga y rendimiento
- 28. ¿Cuál es la herramienta de código abierto más precisa para la división de oraciones?
- 29. Buena herramienta de creación de informes de código abierto/marco para WPF (C#)
- 30. ¿Cuáles son las alternativas de código abierto para Lattix?
Sí, lo menciona en la documentación, pero parece que solo funciona para archivos "documentados", según el manual. En otras palabras, si solo lo ejecuta en un árbol fuente, no generará un gráfico. A cualquier experto en doxigenos le gustaría hablar en este punto? –
Necesita crear un archivo de configuración (o mejor, obtenga Doxygen para que lo haga por usted). Luego necesita editar el archivo para activar algunas funciones. Normalmente no produzco árboles completos, así que no tengo un ejemplo a mano. –
Puede llamarlo para ignorar a los miembros indocumentados. Doxygen definitivamente puede analizar todo, dadas las opciones correctas. Compruebe las siguientes opciones: EXTRACT_ALL HIDE_UNDOC_MEMBERS HIDE_UNDOC_CLASSES También puede ser necesario punto (a través de Graphviz) para generar diagramas de clases y otras cosas útiles. –