首页 > 解决方案 > C/C++ 的文件/符号依赖图可视化

问题描述

我很清楚 Doxygen 能够可视化函数调用图和文件级包含依赖关系图。我对一种工具感兴趣,可以在单个图形中直观地概述整个项目的文件级依赖关系。图的节点将是模块/对象,例如 Foo.cpp/hpp 文件将被视为单个实体并且是单个节点“Foo”。据我所知,Doxygen 的包含依赖关系图仅显示单个文件的包含链。

似乎有两种方法可以做到这一点:

  1. 目标文件的符号依赖关系 - 所以这个工具会将编译的目标文件作为输入。

  2. 包括依赖项,但每个节点都是源文件和头文件的组合,而不仅仅是头文件。该工具将源文件作为输入,并依赖 A.cpp 在可找到的位置具有相应的 A.hpp。这种方法会导致一些额外的依赖边缘用于非符号依赖,以及不必要的包含依赖。

有没有这样的工具可以做到这一点,最好是免费的?

标签: c++cdependenciesvisualizationdependency-management

解决方案


您可以尝试CppDepend,它将源代码作为输入,并为您提供使用我们的代码查询语言来过滤您想要在图中出现的内容的高级依赖关系图的可能性。


推荐阅读