refer: http://bbs.csdn.net/topics/330158874

查看elf文件对应的动态库文件:   ldd <文件名> 动态库文件

你如果有足够的时间可以用 ar 将gcc编译程序时链接的相关静态库解压,能解压出很多函数。在与你的*.h中的函数对照。找到到底谁属于谁。

当我遇到一个函数不知道所属的库的时候,我会先找到头文件所属的包,然后看看那个包(或者相关包)的.a或者.so文件有哪些,然后:
objdump -x 库文件 | grep 函数名

1、man htons,里面讲的是arpa/inet.h;
2、假设你用的是RPM类型的系统:rpm -qa --filesbypkg | grep arpa/inet.h,你就看见了一个或者几个包提供这个文件,现在我看到的是glibc-headers(RHEL5)
3、貌似这个glibc-headers只是个包含头文件的软件包,看看其他类似的软件包是什么:rpm -qa | grep glibc
4、我看见了glibc,glibc-devel,glibc-common,觉得glibc-devel肯定是提供.a(静态链接)的
5、rpm -q --filesbypkg glibc-devel| grep \.a$ | awk '{print $2}' |xargs grep htons找到所有带htons的静态库文件
6、只有一个:/usr/lib/libc.a
7、如果有好几个的话,用objdump -x看看符号表
多说几句——在debian类型的机器上用dpkg或者apt-files也是类似的过程,有时候需要一些常识或者猜测,比如*-devel包都是提供头文件和静态链接库的,对应的不带-devel的包都是提供.so的。
如果你想要找出被一个运行中的进程载入的共享库,你可以使用pldd命令,它会显示出在运行时被载入一个进程里的所有共享对象。  sudo pldd <PID>
或者,也可以选择一个叫做pmap的命令行工具。它报告一个进程的内存映射,也能显示出运行进程的库文件依赖。  sudo pmap <PID>

refer:  http://blog.csdn.net/changli_90/article/details/9178017

1. 最好知道静态库的原文件(.c),要是知道声明文件(.h)也比较好。

2. ar -t YourFile 看其结构,找其中的原文件。

3. 可以将库文件下到本地用UE打开,然后你就找吧。

另外,看动态库用 nm -D lib*.so

转载于:https://www.cnblogs.com/ginkgo-leaf/p/7683414.html

如何查看linux函数对应的库文件相关推荐

  1. Linux 系统上的库文件生成与使用

    什么是库文件? 库是一组预先编译好的方法的集合.Linux系统存储的库的位置一般在:/lib 和 /usr/lib. 在 64 位的系统上有些库也可能被存储在/usr/lib64 下.库的头文件一般会 ...

  2. Linux系统上的库文件的生成与使用

    1.什么是库文件 库是一组预先编译好的方法的集合.Linux系统存储的库的位置一般在:/lib 和 /usr/lib. 在 64 位的系统上有些库也可能被存储在/usr/lib64 下.库的头文件一般 ...

  3. Linux系统中添加库文件路径的方法

    库文件在链接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的.一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用 ...

  4. linux 提示库文件,Linux系统下确实库文件的解决办法

    解决/usr/bin/ld: cannot find -lxxx 在linux环境编译应用程式或lib的source code时常常会出现如下的错误信息: •/usr/bin/ld: cannot f ...

  5. Java使用opencv调用微信扫描二维码引擎,附带windows和linux需要的动态库文件

    前言 最近公司项目有一个需求,要用二维码传递数据.于是使用了zxing生成和解析二维码,但是zxing扫描二维码原图还可以,一旦扫描用户使用手机拍摄的二维码,识别率急剧下降.尝试了对拍摄的照片进行降噪 ...

  6. linux缺失库文件,Linux系统下确实库文件的解决办法

    解决/usr/bin/ld: cannot find -lxxx 在linux环境编译应用程式或lib的source code时常常会出现如下的错误信息: •/usr/bin/ld: cannot f ...

  7. linux mysql makefile_Linux安装库文件(环境变量和makefile)

    CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项. 这两个变量实际上涵盖了编译和汇编两个步骤. CFLAGS/CPPFLAGS: 指定头文件(.h文件)的路 ...

  8. 查看linux内核的glibc库,查看当前系统的glibc版本

    有时我们经常需要查看当前系统的glibc版本,可以这样查看: /lib/libc.so.6 有时:/lib/x86-64-linux/libc.so.6 把这个文件当命令执行一下 为什么这个库可以直接 ...

  9. 查看linux文件目录的大小和文件夹包含的文件数

    du -h --max-depth=1|sort -n du -h --max-depth=1|grep G|sort -n df -h 清理/var/log # 清除# 一定要以root身份来运行这 ...

最新文章

  1. sql server 2005 T-SQL CAST 和 CONVERT (Transact-SQL)
  2. 14岁印度裔女孩因新冠潜在疗法赢得16万奖金,通过信息学筛出病毒先导分子
  3. svn的merge使用例子
  4. Hazelcast介绍与使用
  5. 海尔智慧家庭食联网:为每1个家庭配备专属健康顾问
  6. matlab常用函数——矩阵函数
  7. 域控计算机策略转换成用户策略,windows组策略实验-本地组策略和域控组策略
  8. java 微信二次分享_微信二次分享
  9. php中ignore_user_abort函数的用法
  10. JavaSE学习总结(八)—— 异常处理(Exception)
  11. apl脚本入门-控制语句
  12. 学校计算机教师事迹材料,中学信息技术优秀教师事迹材料:信念在“用心”中闪光...
  13. python如何向服务器发送文件,在Python中使用套接字向服务器发送文件
  14. 2021年华为杯数学建模参赛经验分享
  15. Arc consistency in CSPs
  16. Rime(1):介绍与安装
  17. C语言课设--藏书管理信息系统
  18. 微软提出基于知识图谱的深度神经网络DKN用于新闻推荐
  19. 【我的Android进阶之旅】SQLite出错时候的错误码整理
  20. CentOS增加虚拟内存

热门文章

  1. list转map stream_advancedday10可变参数不可变集合及Stream流
  2. 深圳网络推广提醒大家做好URL标准化,网站排名“事半功倍”!
  3. 企业网络推广中关键词“出镜率”高会影响企业网络推广吗?
  4. 网络推广外包——网络推广外包专员是如何发布软文外链的呢?
  5. 移动端、PC端网站优化需齐头并进
  6. 如何查看笔记本电脑配置参数_2020双十一(小白/学生)如何选购笔记本电脑?5000元预算哪款笔记本配置值得入手?...
  7. linux下进程的tty,Linux下TTY驱动程序分析
  8. java兰顿蚂蚁解题思路_程序员面试金典 - 面试题 16.22. 兰顿蚂蚁(deque模拟)
  9. matlab程序崩溃怎么解决,java – 如何避免MATLAB崩溃打开太多的数字?
  10. java的mythread_java多线程 - myShadow - OSCHINA - 中文开源技术交流社区