我刚开始学习C语言,并花了几个小时搜索奇迹软件。
我正在寻找在C(files.c)中导入软件源的软件,并生成包含所有文件,函数,变量等的代码的“思维导图”......
你知道它是否存在吗?理解复杂软件的架构对我有很大帮助。
非常感谢您的所有答案。
答案 0 :(得分:1)
看看“call graph”。这种可视化应该可以帮助您入门。
正如评论所暗示的那样,Doxygen是一个很好的开源工具。看一下输出here。 Doxygen可以直接配置为* nix下的调用图生成。这对Windows来说有点复杂。首先,看看这篇SO帖子:how to get doxygen to produce call & caller graphs for c functions。除了调用者/被调用者图之外,Doxygen的HTML输出还提供了许多很好的交叉引用功能(文件,变量,结构等)。
在商业方面,Understand for C/C++具有一流的可视化功能。谷歌“c call graph diagram”用于其他商业和开源选项。
最后,有一些较旧的SO帖子,例如Tools to get a pictorial function call graph of code。看看吧。
答案 1 :(得分:0)
查看程序ctags
。它是基于编程语言结构的名称和函数的索引器。
它非常成熟,并与许多其他工具集成。我将它用于一个名为vi
的较旧(但非常好)的文本编辑器,但它可以独立于命令行使用。
它不会生成连接的图形视图。但是,根据我的估计,在大多数C程序中可能存在太多连接,无法在视觉上显示而不会产生大量信息过载。
这个答案与Throwback的回答有些不同。调用图可能意味着一些事情。它可能意味着一个问题是正在运行的程序通过一段代码的路径,另一个是正在运行的程序可能通过代码的所有路径的组合,另一个是代码中所有路径的组合(无论它们是否可以到达与否)。
您的需求将推动您应该使用哪种工具。