有没有人知道能够从ansi c代码创建“功能图”的工具?
“功能图”是指代表文件,功能及其关系概述的图表。我想它就像一个圆圈图。
EG。如果有以下代码:
//MyProgram.c
int main(int argc, char** argv)
{
Foo();
Bar();
return 0;
}
//Slave.h
void Foo();
void Bar();
图表如下图所示:
Function relation diagram http://i44.tinypic.com/503z7q.png
它有官方名称吗?可能是依赖关系图?
我看过Doxygen。但那个人明确指出: Doxygen内置支持为C ++类生成继承图。 许多UML工具也是如此。我没有任何课程。虽然我的c文件可能会接近。
答案 0 :(得分:5)
您所指的是Call Graph。
有一系列工具可用于生成它们:http://en.wikipedia.org/wiki/Call_graph#Software
答案 1 :(得分:3)
有一些软件不再免费,例如www.scitools.com,它有一个名为Understand C
的工具。我肯定会做你想要的,还有像BOUML这样的其他工具(这是免费的工具)。除此之外,qiao
提供的列表是很好的参考。
答案 2 :(得分:0)
我想我已经找到了我的想法的起源。将代码显示为“具有连接输入/输出的组件”是LabVIEW的概念。 (那时我不是一个完全疯狂的寻找这种图表的方法;)
但据我所知,LabVIEW没有按照我的意愿行事。 LabVIEW用于构建和连接功能。被hw / fw人广泛使用。 (这也是我的目标受众。)它不会将代码反向工程图。
奇怪的是这些图并不存在。在我看来,嵌入式程序员,ansi c,低级别,hw等人都会喜欢它们。