我正在研究Linux内核中的一些非常长的功能(link,link)。
对于那项研究,我想使用一些代码流可视化工具,它可以绘制一个图形,其中每个顶点都是一个决策点,每个边缘都是一段以后续方式运行的代码。 / p>
您是否了解任何可以直观显示C代码的开源项目?
答案 0 :(得分:10)
也许像KCacheGrind这样的工具会有所帮助。它会根据实际调用生成调用图,并且无法在不实际运行程序的情况下预先生成调用图,这可能不符合您的需求,但它可能会再次出现。
答案 1 :(得分:1)
History flow's非常适合多个版本的更改/差异。
Codeplex有一个项目Dependency Visualizer,它也支持C。
Gprof2Dot可以呈现oprofile,这也可以获得动态信息。
CodeViz也可以使用(静态工具)。
如果您使用gcc,gcc-xml还有introspector plugin也可以。
答案 2 :(得分:1)
您似乎想要获取C源代码的流程图(“决策”,“代码块”) 这样的事情C flowchart?
要正确地做到这一点,尤其是对于Linux内核代码,我希望你必须首先预处理代码以摆脱宏和条件。我会假设GCC会在内部构建这样一个图表,你应该能够掌握这个图表。
答案 3 :(得分:0)
Doxygen做了一些“可视化”,
但是你需要对代码进行一些处理才能使用它。
要检查的另一个有趣的事情是lxr
Linux Cross Referencer是用于索引和呈现源代码存储库的软件工具集。 LXR最初的目标是Linux源代码,但已被证明可用于各种软件项目。 lxr.linux.no目前正在运行LXR软件的实验分支。