有没有一个工具可以绘制我的 c++ 的图形表示?类和方法?

发布于 2024-11-09 09:08:09 字数 365 浏览 0 评论 0原文

有没有一个工具可以绘制我的 C++ 类和方法的图形表示?


换句话说 - 因为 G++ 可能已经这样做来检查标头之间的循环依赖关系 - 是否有一个工具可以真正向我展示我的类和方法如何彼此交互?


不是类依赖工具的精确重复

我希望不仅能够看到类之间的静态依赖关系,还能看到方法之间的依赖关系。

有没有开源工具,或者至少可以在 Linux 下工作?

Is there a tool to draw a graph representation of my c++ classes and methods ?


In other words -- as G++ may do it already to check for circular dependencies between headers -- is there a tool that can actually show me how my classes and methods interact with each other ?


Not an exact duplicate of Class dependency tool

I'd like to be able to not only see static dependencies between classes but also between methods.

Is there an open source tool, or at least working under Linux?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凌乱心跳 2024-11-16 09:08:09

doxygen 做得很好。我建议使用 DoxyWizard GUI。

查看在线演示:http://www.doxygen.nl/results.html
这是一个更好的链接,虽然非常非常简单:

http://www .doxygen.nl/manual/examples/diagrams/html/inherits.html

它作为 Doxygen 绘图文档中原理的演示:

http://www.doxygen.nl/manual/diagrams.html

如果你想做重量级分析,看CppDepend


作为对动态调用图请求的答复,我可以建议 KCachegrind

它效果很好在 Linux(和 MacOS,根据评论)上与 Callgrind 结合使用:

valgrind --tool=callgrind ./myprogram
kcachegrind

Presto!但 valgrind 只能在 Linux 上运行。我知道有相当多的分析器具有 kcachegrind 可读格式的输出转换器。我不使用它们,所以恐怕谷歌会为您提供一些工作

在此处输入图像描述

doxygen does a neat job of it. I suggest using the DoxyWizard GUI.

See online demos: http://www.doxygen.nl/results.html
This is a better link, though very very simple:

http://www.doxygen.nl/manual/examples/diagrams/html/inherits.html

It serves as a demonstration of principles in the documentation for graphing in Doxygen:

http://www.doxygen.nl/manual/diagrams.html

If you want to do heavy-weight analysis, look at CppDepend.


As an answer to the request for dynamic call graphs, may I suggest KCachegrind

It works well on linux (and MacOS, per the comment) in combination with Callgrind:

valgrind --tool=callgrind ./myprogram
kcachegrind

Presto! But valgrind only works on linux. I know there are quite a few profilers that have output convertors to kcachegrind readable format. I don't use them, so I'm afraid there would be some google work in it for you

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文