Linux C----创建共享库

本文探讨了静态库和共享库的工作原理及优缺点。在内存占用方面,静态库会导致多个程序中存在相同的函数副本,而共享库则通过运行时加载机制避免了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态库的一个缺点是,当我们同时运行许多应用程序并且它们都使用同一个函数库的函数时,就会在内在中有同一函数的多份拷贝,在程序文件中自身也有多份同样的拷贝,这将消耗大量的宝贵的

内存和磁盘空间。

共享库的保存位置与静态库是一样的,但共享库有不同的文件名后缀。在典型的 linux 系统中,标准数学库的共享版本是 /usr/lib/libm.so.

当程序使用共享库时,它的链接方式是这样的: 它本身不再包含函数代码,而是引用运行时可以访问的共享代码。当编译好的程序被装载到内存中执行时,函数引用被解析并产生对共享库的调用。

如果有必要共享库才被加载到内存中。

转载于:https://www.cnblogs.com/shixinzhu/archive/2011/04/28/2031896.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值