¿Hay alguna herramienta para ayudar a diagramar una gran biblioteca de C? Estoy trabajando en un proyecto para portar una biblioteca de C existente a C++. La biblioteca C no está documentada en gran medida sin diagramas. Me gustaría usar una herramienta CASE para ayudarme a entender cómo interactúan los diversos archivos. Hay variables externas en la mayoría de los archivos.C: Diagramación de una gran biblioteca
De ser posible, preferiría un diagrama visual para comprender mejor el flujo del código. No estoy familiarizado con una herramienta de diagramación para lanagues procesales (o si existe). Recuerdo que en la universidad usamos para usar diagramas de jerarquía y flujo de datos para lenguajes de procedimiento.
Sé que existen muchas herramientas para diagramar OO idiomas, pero me gustaría una para C. Cualquier ayuda sería apreciada.
Sugerencias:
- CodeProject Tutorial
- Doxygen Official Tutorial
- Stackoverflow Force Undocumented C code
- Remember to download Graphviz if you want a graphical representation and set the dot path ie:"C:\Program Files\Graphviz2.26.3\bin\"
Se le puede ayudar de tres maneras:
Puede generar un navegador documentación en línea (en HTML) y/o un manual de referencia fuera de línea (en) de un conjunto de archivos fuente documentados. También hay soporte para la generación de salida en RTF (MS-Word), PostScript, PDF hipervinculado, HTML comprimido y páginas man Unix. La documentación es extraída directamente de las fuentes, , lo que hace que sea mucho más fácil mantener la documentación consistente con el código fuente . Puede configurar doxygen para extraer la estructura de código de archivos de origen no documentados. Esto es muy útil para encontrar rápidamente su camino en grandes distribuciones de fuentes. Puede también visualizar las relaciones entre los diversos elementos mediante incluir gráficos de dependencia, diagramas de herencia y diagramas de colaboración, que se generan todos automáticamente. Incluso puede 'abusar' de doxygen para creando la documentación normal.
- opensource/licencia académica y comercial (MSVS plug-in)
mejorar su calidad código base. CppDepend es una herramienta que simplifica administrando una base de código complejo C \ C++ (nativo, mixto y COM). Los arquitectos y los desarrolladores de pueden analizar la estructura del código, especificar reglas de diseño, hacer revisiones efectivas del código y la evolución del maestro por comparando diferentes versiones del código . Estos Casos de Estudio muestra que la utilidad de CppDepend tiene una visión profunda de de su arquitectura, diseño y implementación de . Refactorice y mejore su diseño y arquitectura. CppDepend proporciona gráficos útiles para analizar su diseño y arquitectura. El lenguaje CQL le ofrece una flexibilidad de para crear sus consultas personalizadas y tener una vista profunda de su base de código. aquí está una muestra del uso de CppDepend para ayudar a su refactorización. Asista a su migración . Comprender la migración existente . CppDepend lo ayuda en su proceso de migración , aquí puede encontrar las ventajas de usar CppDepend en su proceso de migración.
- (nedit, vim, emacs) VIM TUTORIAL
- nombres de clase
- definiciones de macro
- nombres de enumeración
- enumeradores
- definiciones de funciones
- función prototipos/declaraciones
- clase, interfaz, estructura, y los miembros de datos de la Unión
- nombres de estructura
- typedefs
- nombres de la Unión
- variables (definiciones y externos declaraciones)
- (línea de cmd, vim) VIM TUTORIAL
- permite la búsqueda de código para:
- todas las referencias a un símbolo
- definiciones globales
- funciones llamado por una función
- funciones llamar a una función
- cadena de texto
- patrón de expresión regular
- un archivo
- archivos incluyendo un archivo
cscope se ve muy bien pero estoy trabajando en un entorno Windows. Parece una mejor versión del archivo intelliense MSBS NCB (http://msdn.microsoft.com/en-us/library/ms379615(VS.80).aspx). Sin embargo, cscope le da la posibilidad de consultar su base de datos. –