c++ - C/C++ 的文件/符号依赖图可视化
问题描述
我很清楚 Doxygen 能够可视化函数调用图和文件级包含依赖关系图。我对一种工具感兴趣,可以在单个图形中直观地概述整个项目的文件级依赖关系。图的节点将是模块/对象,例如 Foo.cpp/hpp 文件将被视为单个实体并且是单个节点“Foo”。据我所知,Doxygen 的包含依赖关系图仅显示单个文件的包含链。
似乎有两种方法可以做到这一点:
目标文件的符号依赖关系 - 所以这个工具会将编译的目标文件作为输入。
包括依赖项,但每个节点都是源文件和头文件的组合,而不仅仅是头文件。该工具将源文件作为输入,并依赖 A.cpp 在可找到的位置具有相应的 A.hpp。这种方法会导致一些额外的依赖边缘用于非符号依赖,以及不必要的包含依赖。
有没有这样的工具可以做到这一点,最好是免费的?
解决方案
您可以尝试CppDepend,它将源代码作为输入,并为您提供使用我们的代码查询语言来过滤您想要在图中出现的内容的高级依赖关系图的可能性。
推荐阅读
- c# - 获取将excel动态转换为数据表的问题
- visual-studio-2017 - Visual Studio 2017 SSDT 添加对脚本的引用
- python-3.x - python集合计数器无法显示直方图
- asp.net - ASMX 服务的 Ninject 依赖解决问题
- python-3.x - 如何在Python中先按日期然后按时间对列表进行排序?
- android - 如何设置工具栏内的约束布局宽度以匹配父级?
- java - 无法为 unitName 检索 EntityManagerFactory
- amazon-ecs - 在 ECS Fargate 中从 Dockerhub 拉取公共镜像
- java - 带有 Spring Boot 和 Data JPA 的 RESTful Web 服务始终公开活动的 oracle 表
- php - 如何使下拉菜单反映 PHP 和 HTML 中的表单动作?