基本上我想要生成源代码可视化的工具,如:
函数调用图
依赖图
...
Andrew Wilki.. 54
尽管你需要安装GraphViz来绘制图形,但Doxygen确实非常出色.
一旦安装好所有东西,绘制图形真的很简单.确保将EXTRACT_ALL和CALL_GRAPH设置为true,你应该好好去.
关于doxygen这个函数的完整文档就在这里.
尽管你需要安装GraphViz来绘制图形,但Doxygen确实非常出色.
一旦安装好所有东西,绘制图形真的很简单.确保将EXTRACT_ALL和CALL_GRAPH设置为true,你应该好好去.
关于doxygen这个函数的完整文档就在这里.
我强烈推荐BOUML.这是一个免费的UML建模应用程序,它:
是非常快的(有史以来最快的UML工具,检查基准),
拥有坚如磐石的C++导入支持,
有很好的SVG导出支持,这很重要,因为在矢量格式中查看大型图形,例如在Firefox中可以快速扩展,非常方便(您可以在"鸟瞰"视图和类详细视图之间快速切换),
是一个功能齐全,令人印象深刻的集中开发(看看发展历史,很难相信如此快速的进展是可能的).
因此:将代码导入BOUML并在那里查看,或导出到SVG并在Firefox中查看.
免费版:
源代码在Github上作为DoUML
安装程序可以从http://www.bouml.fr/download.html下载
您可以查看用于软件设计和建模的不同工具(Rational Rose,Sparx Enterprise Architect,Umbrello等).它们中的大多数具有一些功能,可以通过源代码反转建模,获取UML类图,有时甚至是序列图(这与函数调用图非常接近).
但是在你在一个非常大的项目代码库上得到一些图片后,你会发现这些图形很难阅读和理解.不幸的是,复杂性的可视化功能非常有限.
至于我,使用"分而治之"的成语是更方便的方法.您可以从某些代码库中提取不同的功能块或层(仅通过不同的文件夹对cpp文件进行排序).另一种方法是使用一些脚本(bash,python)创建简单的csv表,其中包含感兴趣的文件,类或函数参数,如"依赖项数"等.