用于生成C ++代码的大纲/映射的工具 - 有这样的事情吗?

时间:2013-06-05 11:26:49

标签: c++ oop reverse-engineering

我需要进入并对用C ++编写的软件组件进行一些修改。我想幻想生成一些代码映射,这将显示类之间的关系,并引导我通过方法的流/调用图。有这个工具吗?

多年前,我使用Rational Rose建模工具,具有对代码进行逆向工程并为其构建类图的功能。然而,对于此类项目探索而言,重要的还有一些动态信息,如序列图(理想情况下)或调用图。没有提到Rose对于这样的一次性任务来说太大了,实际上我还不知道它是否仍然存在。

4 个答案:

答案 0 :(得分:4)

我个人使用Doxygen https://github.com/doxygen/doxygen,它确实是最简单的程序之一,可以按照您描述的方式进行输出。

要生成调用图,您还需要使用graphviz http://www.graphviz.org/获得的点。可能还有一些其他依赖项,但在这些情况下,它应该在配置文件中这样说,顺便说一句,评论相当好。

Doxygen的配置文件起初可能看起来很广泛,但最终结果是值得的。

答案 1 :(得分:2)

如果doxygen还不够,我会调查Enterprise Architect来完成这项任务。它不是免费的,但它会生成您的图表和代码模型。虽然,tbh,我认为doxygen正是你所需要的,它可以自由启动。

顺便说一句,如果您决定采用Bouml方式(生成代码模型,然后手工制作图表),请考虑从sourcefoge中选择Douml。与Bouml不同,它仍然是免费的。

答案 2 :(得分:1)

看看BOUML,我认为这正是你所寻找的:

http://www.bouml.fr/screenshots.html

答案 3 :(得分:1)

警告,Douml是从一个旧版本的BoUML(不幸的是不是最后一个版本)制作的,当在Qt4中移植它时,团队引入了很多错误,至少因为结果是无法使用的。此外,团队没有使用插件机制,所以你无法定义自己的插件等。所以最好得到BoUML,它不是免费的,但价格相比其他很低UML工具。 Zeks,BoUML在类图中有自动布局。我的两分钱。