2014-02-25 55 views
0

我有一大组C源文件组成了一个相当完善的体系结构。现在我的任务是削减系统的一个重要部分,并将其替换为存根。为了估计工作,我希望找到所有在切割之后丢失的函数定义。有没有一些好的和有效的方法来做到这一点?查找缺少的函数定义

我想,拿出三种方式

  1. 编译其余部分并捕获链接错误。
  2. 对目标文件编译并运行nm,并取{functions marked 'U'}{functions marked 'T'}之间的差值。
  3. 使用类似pycparser的东西来编写一个捕获未定义函数的工具。

有关如何完成的更好的建议?

+0

我可能会与(1)自己一起去。除非这是你将要重复做的事,否则不值得在工具开发和自动化方面进行巨大的投资。在像Eclipse这样的IDE中,我只需删除子系统,然后让Eclipse告诉我剩下的代码是在积极寻找什么。 – keshlam

+0

我对Eclipse不是很熟悉,你是指“去掉子​​系统”是什么意思? – Magnus

+0

“消除子系统” - 抱歉,说“删除不再需要的代码”的奇特方式。我建议Eclipse只是因为它提供了一个很好的整个项目中的错误消息的集中视图,这可能使得通过“未找到”列表更快一些。 – keshlam

回答

0

查看ctags/etags或cscope等工具。特别是最后有助于导航大型代码库。

+0

这些确实是很好的导航工具,但它们如何帮助我找到声明和使用但未定义的函数? – Magnus