Are there any tools to help in diagramming a large C library? I am working on a project to port an existing C library to C ++. The C library is largely undocumented without diagrams. I would like to use the CASE tool to help me understand how different files interact. Most files have external variables.
If possible, I would prefer a visual diagram to better understand the flow of code. I am not familiar with the charting tool for procedural lanagues (or even if it exists). I remember in college we use hierarchies and data flow diagrams for procedural languages.
I know that there are many tools for OO lanaguages ββdiagrams, but I would like one for C. Any help would be appreciated.
suggestions
doxygen
He can help you in three ways:
It can generate an online documentation browser (in HTML format) and / or an offline reference guide (in) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, PDF hyperlinks, compressed HTML, and Unix personal pages. The documentation is extracted directly from the sources, which greatly simplifies the documentation corresponding to the source code. You can configure doxygen to extract code structures from undocumented source files. It is very useful to quickly find your way in large sources. You can also visualize relationships between different elements through include dependency graphs, inheritance diagrams, and collaboration diagrams that are generated automatically. You can even βabuseβ doxygen for creating normal documentation.
cppdepend
- open source / academic and commercial license (MSVS plugin)
Improve the quality of the code base. CppDepend is a tool that simplifies the management of complex C \ C ++ (native, mixed, and COM). Architects and developers can analyze the structure of the code, specify design rules, follow code reviews and compare different versions of the code. These studies show that CppDepend is useful for a deep look at your architecture, design, and implementation. Refactoring and improving your design and architecture. CppDepend provides useful graphics to analyze your design and architecture. The CQL language gives you the flexibility to create your custom queries and the deep look of your code base. Here is a sample of using CppDepend to assist your refactoring. Help the migration. Understanding existing migration. CppDepend helps you in your migration process, you can find here the benefits of using CppDepend in your migration process.
ctag
- (nedit, vim, emacs) VIM TUTORIAL
- class names
- macro definitions
- enum names
- numerators
- function definitions
- prototypes / function declarations
- members of a class, interface, structure, and association.
- structure names
- Type definitions
- trade union names
- variables (definitions and external declarations)
csope
- (cmd line, vim) VIM TUTORIAL
- Allows you to search for code for:
- all character references
- global definitions
- functions called by function
- functions calling the function
- text string
- regex pattern
- file
- files including file
c case diagram diagramming
user295190
source share