第07课:解析共享库工作机理,灵活组织大型项目

共享库的使用在当今的各类计算机系统中都已经非常常见,它的出现让大型项目的组织形式更加灵活,管理更加方便,而且极大地节省了需要的存储和运行空间。本节课我们就来深入到共享库的内部去了解一下其工作的细节,主要包括以下几方面内容:

  • 共享库产生的渊源
  • 位置独立代码的工作原理
  • 动态链接器的工作过程
  • 共享库的版本维护

7.1 共享库产生的渊源

7.1.1 静态库

在共享库出现之前,公用功能是以静态库的形式存在的,它把通用功能模块的多个目标文件打包在一起,用到它的程序只需要在链接时指定这个库文件,链接器就会从这个库中抽取出用到的功能代码拷贝到目标程序中,而不需要每次都对这些通用功能代码重新编译。

静态库体现出了很好的模块化思想,但是随着计算机产业规模的发展,静态库逐渐暴露出了自身两个比较严重的问题

  • 一是磁盘和内存空间占用大。静态库虽然加快了编译速度,提高了不同部门间的协作效率,但是在每个与静态库链接的程序中,都会保存一份引用到的通用功能代码的拷贝,而且在运行时,每一份拷贝都要占用相应的物理内存。

  • 二是库的版本升级非常麻烦。一旦公用库有修改,每个引用到它的程序都需要与新版本的库重新链接。在库与应用是由不同的公司或组织维护的场景下,升级工作将变得异常复杂。通用库中如果有 Bug 修复,使用该库的所有应用都需要分别升级。

7.1.2 共享库

为了解决这两个问题,共享库技术应运而生

评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值