2011-03-02 49 views
1

我想更新旧的X11/Motif应用程序以使用现代对象和库。我使用ldd来获取所有正在使用的共享对象的列表,但我试图找出哪些函数特别链接到这些库,以便我可以删除弃用的函数。有任何想法吗?由于我怎样才能找出哪些功能已过时

特别是(但不限于),libXp.so.6

回答

1

要查看哪些功能是libXp.so.6,尝试:

nm -D --defined-only /usr/lib/libXp.so.6 

现在你可以看到,他们所有从Xp开始,除了一些奇怪的,可能不是在公共API中。

最简单的方法可能就是使用grep在源代码中搜索Xp或像Xp[A-Za-z]+这样的正则表达式。

+0

我会试一试,但我知道我没有使用任何以Xp开头的函数。我认为我正在链接的另一个库使用它。这似乎是一个雷区。 – steveo225 2011-03-04 02:14:05

+0

这有助于弄清楚究竟使用了什么。结合ldd,我能够弄清楚需要哪些功能和依赖关系以及为什么。现在我只需要删除它们......谢谢! – steveo225 2011-03-04 12:55:42