Analyse ANSI C++ code.
Process a list of sln, vcxproj, cpp and h files or a CMakeLists.txt file. Expected usage: DeepEnds ReadCpp <options> filenames <options> available: --extract Default(coupling). Whether to perform a coupling, cohesion or callgraph analysis --output Required. Path of DGML file (*.dgml) for Visual Studio --externals Default(true). Whether to write the links to the sources --binary Default(). Directory containing CMakeCache.txt --configPlatform Default(Debug|Win32). Visual Studio build configuration and platform --standard Default(). Path to the standard library Examples: DeepEnds ReadCpp --output=C:\Results\Constructor2.dgml --extract=cohesion C:\Source\Constructor2.h - read a C++ file to produce a cohesion graph DeepEnds ReadCpp --output=C:\Results\SharedProject.dgml C:\Source\Shared.sln - read a Visual Studio solution file to produce a coupling graph DeepEnds ReadCpp --output=C:\Results\CMake.dgml C:\Source\CMakeLists.txt - recursively read a CMake project
If reading the code for a coupling analysis then the namespaces, enumerants, classes, structures, etc. are extracted into a nested node structure where individual leaf nodes are joined based on whether they reference each other.
If reading the code for a cohesion analysis then the namespaces, classes, structures, etc. are extracted into a nested node structure where individual member variables and methods are joined based on whether they reference each other.
The resulting DGML file can be viewed in Visual Studio
externals was set to
true, right clicking on a node will produce a
pop up menu with the option to
Go To Reference that will open the relevant source
code. Any unused node should be shaded in pastel yellow.
Alternatively it can be processed in other tools.