从ansi c代码自动创建功能框图

从ansi c代码自动创建功能框图,c,diagram,C,Diagram,有人知道一种能够从ansi c代码创建“功能图”的工具吗 我所说的“功能图”是指表示文件、功能及其关系概览的图表。我想象它是一个类似于电路图的东西 例如,如果有以下代码: //MyProgram.c int main(int argc, char** argv) { Foo(); Bar(); return 0; } //Slave.h void Foo(); void Bar(); 该图表类似于下图: 它有正式名称吗?也许是依赖关系图 我已经看过一点关于强氧的东西

有人知道一种能够从ansi c代码创建“功能图”的工具吗

我所说的“功能图”是指表示文件、功能及其关系概览的图表。我想象它是一个类似于电路图的东西

例如,如果有以下代码:

//MyProgram.c
int main(int argc, char** argv)
{
    Foo();
    Bar();
    return 0;
}

//Slave.h
void Foo();
void Bar();
该图表类似于下图:

它有正式名称吗?也许是依赖关系图

我已经看过一点关于强氧的东西了。但其中明确指出: DoXEGEN具有内置的支持,为C++类生成继承图。 许多UML工具也是如此。我没有课。虽然我的c文件可能很接近。

您所指的是“我的c文件”


有一个生成它们的工具列表:

有两个不再免费的软件,例如有一个名为
了解C
的工具。我相信这会满足你的需求,还有其他的工具,比如BOUML(这是免费的工具)。除此之外,
qiao
提供的列表是很好的参考

我想我已经找到了我想法的来源。将代码显示为“具有连接的输入/输出的组件”是LabVIEW的概念。(我不是一个寻找这种图表的疯子;)

然而,据我所知,LabVIEW并没有做我想做的事情。LabVIEW用于构建和连接功能。被hw/fw人员广泛使用。(这也是我的目标受众。)它不会将代码反向工程到图表中


奇怪的是,这些图表实际上并不存在。在我看来,嵌入式程序员、ansi c、low level、hw等都会喜欢它们。

我见过的大多数调用图都将所有函数放在一个大桶中,然后生成一棵树(如果幸运的话)。他们做分析的时候很好。在本例中,我更感兴趣的是文件之间的关系,而不是调用图的顺序。我认为UML将是一个更好的选择。但也许你有一个特定的程序?现在大多数IDE已经支持调用图了。我查看了列表,没有找到任何能够创建“文件顺序调用图”的程序。它们只是以主调用函数作为顶部节点的树。(我并不是真的在寻找树。)scitool有一些有趣的图表。他们的依赖关系图已关闭:。但它没有显示函数关系,当然也没有给出概述。任何人看到这些都会尖叫着跑开。(可能是口味和复杂性的问题)没错,但它仍然满足你的需要。我假设您不想生成或重新生成代码。如果我正确理解您的需求,scitools肯定会满足您的需求。请浏览该工具,您将了解。我确信他们仍然有跟踪版本。层次结构图更好:。但是它缺少所有的文件关系,并且偏向于调用函数。不,我不想生成代码等。它是用于文档的。也许我应该补充一点,我在图表中的目的是展示给定代码项目的概述。这是“在代码中找到正确的查找位置”的有用一手。因此,文件和库的分组非常重要。函数关系将给出实际内容。也许你知道一个更好的图表?一些基于文件/库的东西?这里的“依赖关系图”,实际上看起来相当不错。doxygen能够提取各种图形,而不仅仅是继承图。