动态库与静态库的区别

动态库与静态库的区别
动态库和静态库都是代码的二进制的封装形式。

区别:
1、动态库
对于动态库来说,编译可执行文件时候,并没有把动态库的内容拷贝到可执行文件中,只是做了一个标记,表示可执行文件需要用到某某库。这样的话运行该可执行文件时,需要把所需要的动态库都下载到目标板,并且配置LD_LIBRARY_PATH。

2、静态库
对于静态库来说,编译可执行文件时,会把静态库中所有的内容编译到可执行文件中,运行时,直接运行。如果要在目标板上运行,就不需要把静态库下载到板子上。

动态库两个明显的优势:
(1)当接口变化的时候,更新动态库,不需要重新编译依赖该动态库的工程文件,如果是静态库,进行了修改,则需要重新编译依赖该静态库的所有的工程文件。

(2)运行时候,动态库在内存中只有一份拷贝,而静态库,则会有多个拷贝(看有多少个程序在使用它) “冗余”。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值