【发布时间】:2015-09-27 13:26:19
【问题描述】:
我正在为一个部署在 Unix(HP-UX) 上的非常复杂的应用程序工作,该应用程序的 C/C++ 源文件数>10-15k。 我想知道我是否可以搜索具有特定用户定义函数定义的确切文件名。有很多这样的函数从几个地方调用,使用 grep 搜索需要时间。
我在其他线程中发现了关于 Cscope,ack 的讨论,但这些在我的客户端计算机上不可用。那么还有其他方法可以实现吗?任何建议都会有很大帮助!
另外,我如何在 vi 编辑器中标记一个函数,这有助于在另一个具有其定义的文件中移动?我知道它可以使用 ctags(Ctrl + [) 来实现。有没有其他办法?
如果存在相关线程,请发布。谢谢。
【问题讨论】:
-
使用
nm列出目标文件中的所有符号,使用sed删除未定义的符号,然后在收集的输出上使用grep 查找哪个目标文件定义了哪个符号。 -
另外,这是 C 还是 C++ 源代码?可能有一些工具适用于其中一种,但不适用于另一种。
-
C 中的模块很少,但 C++ 中的新模块。
-
使用 grep 搜索需要多少时间?我希望不到一秒钟,不是吗?
-
虽然我不关心时间,但它也会列出所有调用函数的文件,并且由于代码格式不同,我正在寻找一个建设性的解决方案。