c++ - 如何轻松查看 C/C++ #include 图?

我正在寻找一种工具(最好是 Visual Studio 插件),它可以显示给定文件包含的所有文件,并显示这些文件包含的所有文件等等。

最佳答案

首先,cinclude2dot.pl 是一个 perl 脚本,它分析 C/C++ 代码并生成 #include 依赖关系图作为点文件以输入到 graphviz。

http://www.flourish.org/cinclude2dot/

如果您不想走那种手动工具的道路,那么在我看来,毫无疑问的赢家是 ProFactor 称为“IncludeManager”的工具。

http://www.profactor.co.uk/includemanager.php

有免费试用版,非常棒。它是一个完全集成的 Visual Studio 插件,因此双击此处的内容会将您带到包含它的位置此处

鼠标悬停工具提示为您提供所需的所有信息,它可以让您向下钻取/向上钻取、删除您不关心的整个子树、查看图表以外的表示形式、循环浏览此和那个的匹配列表,太棒了。

如果您很快,您可以在试用期结束之前重构大型项目的#include 结构。即便如此,它的成本也不高,每个许可证大约 35 美元。

就它的作用而言,它几乎是完美的。不仅#include 图表,还有共享文件的跨项目依赖关系,对构建时间的影响,网格中的详细属性,完美。

https://stackoverflow.com/questions/3069182/

相关文章:

c++ - 将多个参数传递到 std::thread

c++ - std::atomic 是否正常工作?

c++ - 为什么 move 指针变量不会将其设置为空?

c++ - C++ 中是否存在比 long long int 更大的类型?

c++ - 在函数模板中使用静态局部变量的地址作为类型标识符是否安全?

c++ - std::this_thread::yield() 与 std::this_thread

c++ - 特殊情况: Is & faster than %?

c++ - 我必须明确调用原子加载/存储吗?

c++ - C++ 异常处理如何转化为机器码

c++ - 为什么我不能在 char * 和 unsigned char * 之间进行静态转换?