动态库静态库小结

一. 定义

1.1 动态库和静态库

  • 动态库:在linux下是后缀为.so文件,在windows下是后缀为.dll文件。多个程序可以共享使用动态库代码。
  • 静态库:在Linux下是后缀为.a的文件,在windows下是后缀为.lib的文件。

1.2 动态链接和静态链接

  • 动态链接:在可执行程序运行前,操作系统将使用到动态库机器码从硬盘加载到内存中。

  • 静态链接:可执行程序编译链接时,将代码使用到的静态库的代码拷贝到可执行程序中。

静态链接和动态链接的优缺点:

静态链接:可执行程序文件体积大,但是不依赖库,可移植性强。

动态链接:库执行程序文件体积小,但是依赖库,如果库被删除,该程序也就不可以使用了

二. 自己制作动静态库

2.1 制作静态库

1.1制作静态库

1.2使用静态库

2.2 制作动态库

2.1 制作动态库

2.2 使用静态库

三. 查看动态库或者静态库是32位的还是64位


#如何查看动态库或者静态库是32位的还是64位的
对于动态库.so文件,用file命令就可以查看是 ELF 64-bit LSB shared object。

但对于静态库.a文件,用file命令查看,只能显示 *.a: current ar archive
要想这个静态库 *.a文件是32位的,还是64位的,可以使用 objdump 命令

objdump  -a  xx.a

如果显示结果是:file format elf64-x86-64,则为64位的

相关链接:

  1. https://blog.csdn.net/weixin_57023347/article/details/119904895.
  2. https://www.cnblogs.com/cv-pr/p/6206921.html.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值