Linux下查找一个函数在哪个库文件中
关于怎样查出一个库函数到底在哪个库文件中,我想到一个变通的办法,以查找fcntl函数在哪个库文件中为例吧:
1、找到一个使用fcntl的可执行文件,如test_fcntl。实在不行,自己编一个只有fcntl函数的c文件,然后编译一下得了。
2、使用“ldd test_fcntl”命令,可以追踪出该可执行文件到底使用了哪些库文件。通常可能有几个到几十个。
3、根据要查找的函数的作用和上一步所得到的各库文件的名字大致推测一下,该函数可能会在哪个或哪些库中。
4、最后使用"nm test_fcntl"命令,依次查找一下第三步所得到的库文件,通常就可以最后确定fcntl函数到底在哪个库中。
比如,我用上面的方法查出fcntl函数在“/lib/tls/libc.so.6”库中。
1、找到一个使用fcntl的可执行文件,如test_fcntl。实在不行,自己编一个只有fcntl函数的c文件,然后编译一下得了。
2、使用“ldd test_fcntl”命令,可以追踪出该可执行文件到底使用了哪些库文件。通常可能有几个到几十个。
3、根据要查找的函数的作用和上一步所得到的各库文件的名字大致推测一下,该函数可能会在哪个或哪些库中。
4、最后使用"nm test_fcntl"命令,依次查找一下第三步所得到的库文件,通常就可以最后确定fcntl函数到底在哪个库中。
比如,我用上面的方法查出fcntl函数在“/lib/tls/libc.so.6”库中。
相关推荐
qscool 2020-05-10
atb 2019-12-14
柯利南 2011-04-16
Allenby 2019-05-14
ningningmingming 2019-04-04
clamzxf 2016-11-28
RayCongLiang 2012-12-26
leeknives 2019-02-24
DMusic 2017-10-16
fgleeldq 2017-06-23
adamlovejw 2016-09-11
uglygirl 2019-04-19
pythonjw 2019-02-19
LHpython 2019-01-14
linux爱好者 2012-08-01
waterstarsx 2019-04-08