Emi*_*ier 4 linux shared-libraries static-libraries
在静态与共享库的争论中,我经常听说共享库消除了重复并减少了整体磁盘空间.但是现代Linux发行版中共享库真正节省了多少磁盘空间?如果使用静态库编译所有程序,还需要多少空间?有没有人为像Ubuntu这样的典型桌面Linux发行版碾压数字?有统计数据吗?
附录:
所有的答案都提供了丰富的信息并且受到了赞赏,但他们似乎都在抨击我的问题而不是试图回答它.Kaleb走在了正确的轨道上,但他选择了内存空间而不是磁盘空间的数字(我的问题是磁盘空间).
因为程序只为他们使用的静态库部分"付费",所以几乎不可能定量地知道所有静态与所有共享的磁盘空间差异.
我觉得现在我的问题很糟糕,我意识到这几乎是不可能回答的.但我会留在这里以保留信息丰富的答案.
所以SO停止唠叨我选择一个答案,我将选择最受欢迎的一个(即使它回避问题).
我不确定你在哪里听到这个,但减少的磁盘空间大多是一个红色的鲱鱼,因为驱动器空间接近每千兆字节便士.共享库的真正好处是为这些库提供了安全性和错误修复更新; 使用静态库的应用程序必须使用新库单独重建,而使用共享库的所有应用程序只需更换少量文件即可立即更新.
共享库不仅可以节省磁盘空间,还可以节省内存,而且更重要.预链接步骤在这里很重要...你不能在同一个库的两个实例之间共享内存页面,除非它们被加载到同一个地址,并且预链接允许这种情况发生.
| 归档时间: |
|
| 查看次数: |
682 次 |
| 最近记录: |