静态库与动态库


一、静态库

静态库是以.a为后缀结尾的,程序在编译链接的时候把库的代码链接到可执行文件中。

使用方法

  1. 把头文件拷贝到当前项目中,在文件包含
  2. 把库文件拷贝到当前项目中,在文件中添加依赖

优缺点

优点:调用速度相对快
缺点:

  1. 浪费内存空间(多个应用程序依赖同一个静态库的时候,多个程序运行时,会在内存中拷贝多份)
  2. 对程序的更新部署发布比较麻烦,静态库修改后,需要重新编译整个可执行文件,重新安装

二、动态库

动态库是以.so为后缀结尾的,在链接期,只把索引文件拷贝到可执行文件中,在运行的时候才调用动态库,程序在运行的时候才去链接动态库的代码。

使用方法

  1. 把头文件拷贝到当前项目中,在文件包含
  2. 把索引文件拷贝到当前项目中,在文件中添加依赖
  3. 把动态库dll拷贝到exe同文件夹内

优缺点

优点:

  1. 节省内存空间(多个应用程序依赖同一个动态的时候,多个程序运行时,会在内存中拷贝一份动态库)
  2. 更新简单,动态库修改以后,只需要重新编译动态库即可

缺点:调用比静态库慢,移植的时候需要同时移植可执行文件和动态库


总结

静态库有点类似于线下各个人去抄写复制,一旦原本的出现更改就必须全部更新。动态库就是线上版本,需要用的时候上网查就行了,而且可随时更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力找工作的小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值