linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库

摘要:
在Linux中创建和查看静态库,以及如何查看可执行文件创建静态库所依赖的动态库:arrcstest。a*。o查看静态库:ar tvtest。a解压静态库:ar xtest a.查看程序所依赖的动态库:readelf axxx | greplibrary例如,您可以看到以下跨程序hello的执行依赖于以下两个动态库。rebi@ubuntu:~/test$arm none linux gnueabi readelf ahello | grep“library”0x00000001共享库:[libgcc_s.so.1]0x00000001rebi@ubuntu:~/test$或:readelf lhello。在nmxxx视图符号中,T表示代码段,U表示在其他地方定义的代码段,因此您需要确保它已在.o或库中定义。ldd命令可用于查看

linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库
 
创建静态库:
ar -rcs test.a *.o
查看静态库:
ar -tv test.a
解压静态库:
ar -x test.a

查看程序依赖的动态库:
readelf -a xxx|grep library
如:可以看到,下面的交叉程序hello执行依赖于如下两个动态库。
rebi@ubuntu:~/test$ arm-none-linux-gnueabi-readelf -a hello|grep "library"
0x00000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED) Shared library: [libc.so.6]
rebi@ubuntu:~/test$

或者:readelf -l hello 即可。

nm xxx 查看符号
其中,T表示代码段,U表示在其它地方定义,所以需要确保必须在某个.o或库里被定义过。
   ldd命令就可以查看 

免责声明:文章转载自《linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CyberPlayer 使用教程Java Map在遍历过程中删除元素下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

带EFI支持的GRUB2安装全记录

版权归作者所有,任何形式转载请联系作者。 作者:keenshoes(来自豆瓣) 来源:https://www.douban.com/note/210077866/  关键词:EFIGRUB2efibootmgrGentoo LINUXWindows 7Mac OS Xmultiboot    做为对传统引导程序grub的升级版本, Grub2的功能非凡,...

kafka查询命令---Linux

kafka版本:kafka_2.12-2.1.1 kafka_port默认9092,zk_port默认2181 查看topicbin/kafka-topics.sh --zookeeper zk_ip:zk_port --list 查看groupbin/kafka-consumer-groups.sh --bootstrap-server kafka_ip...

Linux程序调试GDB——数据查看

查看栈信息 当程序被停住了,首先要确认的就是程序是在哪儿被断住的。这个一般是通过查看调用栈信息来看的。在gdb中,查看调用栈的命令是backtrace,可以简写为bt。 (gdb) bt#0 pop () at stack.c:10#1 0x080484a6 in main () at main.c:12 也可以通过info stack命令实现类似的功能...

RedHat7搭建KVM虚拟机

RedHat7搭建KVM虚拟机 1. 宿主机安装RedHat7.3系统 1.1选择语言 中文、简体中文(中国) 1.2安装位置 1.2.1自定义分区,选择LVM,将分区空间全部分配给根 1.2.2禁用Kdump 2.安装KVM 2.1安装前准备 2.1.1配置yum源 2.1.2防火墙处理 setenforce 0  sed -i 's/SELINUX=e...

linux命令之添加删除磁盘分区

之前已经写过df和fdisk的区别了,df可以显示当前已经挂载的磁盘分区,df -T可以额外显示文件系统类型 fdisk -l可以显示出所有挂载未挂载的分区,但不显示文件类型 在我的虚拟机上有一块分配了40G的硬盘但未使用,使用fdisk -l 对于40G的磁盘就是只显示了 Disk /dev/sdb 40G,并未有对应的Device, 接下来就是对其分区...

《Linux总线、设备与驱动》USB设备发现机制

说明:本分析基于mstar801平台Linux2.6.35.11内核,其他内核版本仅供参考。 一、程序在内核中的位置 1.usb host做为pci总线下的一个设备存在(嵌入式系统中有可能也会直接挂在CPU上);这部分驱动由厂家实现,本分析以mstar为例。 2.USB总线驱动 kernel/drivers/usb/core/driver.c [cp...