【发布时间】:2011-11-10 19:00:12
【问题描述】:
背景:
在一个特定的项目中,数百个文件中有大约几千个函数。这些函数被划分为驻留在两个代码内存库中 - fast_mem 和 slow_mem。但是现在,由于 fast_mem 区域是有限的,它的空间已经不足以容纳任何新的代码更改。
作为代码审查的一部分,我们发现 fast_mem 中的一些函数没有调用者。但是函数列表太大,无法手动一一检查。
问题:
那么问题来了,有没有一个工具可以列出项目中所有函数的调用者呢?有了这个,我可以继续删除 fast_mem 中没有任何调用者的函数。
我使用 cscope 和 ctags 进行代码浏览。但这需要手动输入函数名称。这可以自动化一些如何获取完整列表吗?
我还尝试了 Doxygen 的调用者图表功能。结果用起来不太舒服。
【问题讨论】:
-
好吧,总是有“穷人”的方式:删除所有的fast_mem函数,编译,查看链接错误中未解析的符号列表,把那些函数返回,重复。