我有一个用C编写的大代码,但我自己并没有写完所有代码。我希望在代码中创建一个调用结构的概述以供参考。那就是:我想知道代码中的不同函数调用了什么(非标准)函数,从而创建了不同函数的层次结构或树。是否有任何免费的,与Unix兼容的程序(这意味着没有Visual Studio,但是Vim插件或者这样的程序会很简洁)可以做到这一点,还是我必须自己写一些可以做到这一点的东西?
答案 0 :(得分:2)
Doxygen也这样做,但必须启用它。
答案 1 :(得分:1)
有关可用工具的概述,请参阅 http://en.wikipedia.org/wiki/Call_graph
有一个名为CCTree的Vim插件C Call-Tree Explorer http://www.vim.org/scripts/script.php?script_id=2368
答案 2 :(得分:1)
正如您提到的Vim插件,请查看http://sites.google.com/site/vimcctree/。它使用CScope生成树,因此您需要首先生成源文件的CScope数据库。
答案 3 :(得分:1)
查看http://www.gson.org/egypt/这使用GCC来处理代码,并从它发出的AST中提取程序中的相互依赖性。
答案 4 :(得分:1)
gprof会这样做。它还会生成执行配置文件,但这样做会创建一个调用树。