Chinaunix首页 | 论坛 | 博客
  • 博客访问: 190220
  • 博文数量: 70
  • 博客积分: 1728
  • 博客等级: 上尉
  • 技术积分: 755
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-14 21:54
文章分类
文章存档

2010年(19)

2009年(19)

2008年(32)

我的朋友

分类: LINUX

2009-04-20 14:56:27

关于怎样查出一个库函数到底在哪个库文件中,我想到一个变通的办法,以查找fcntl函数在哪个库文件中为例吧:

  1、找到一个使用fcntl的可执行文件,如test_fcntl。实在不行,自己编一个只有fcntl函数的c文件,然后编译一下得了。

  2、使用“ldd test_fcntl”命令,可以追踪出该可执行文件到底使用了哪些库文件。通常可能有几个到几十个。

  3、根据要查找的函数的作用和上一步所得到的各库文件的名字大致推测一下,该函数可能会在哪个或哪些库中。

  4、最后使用"nm test_fcntl"命令,依次查找一下第三步所得到的库文件,通常就可以最后确定fcntl函数到底在哪个库中。(nm <库文件> 可以列出库文件中包含的函数名称)

  比如,我用上面的方法查出fcntl函数在“/lib/tls/libc.so.6”库中。

阅读(885) | 评论(0) | 转发(0) |
0

上一篇:Valgrind使用方法

下一篇:linux的库操作

给主人留下些什么吧!~~