共享库 即.os库
共享库可以使我们的可执行程序文件不需要包含公用的库函数,而只需要在所有进程都可引用的存储区中保存这个库的一个实例副本即可。
程序第一次调用库函数时,使用动态链接的方法将程序与共享库函数相连接。这减少了可执行程序的长度,但是增加了运行时间开销。这就是用时间换空间的方法。这种时间开销发生在该程序第一次被调用时。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bb16e9f32b0e91787152583184162241.png)
共享库的另一个优点是可以用库函数的新版本替代老版本而无需对使用该库的程序重新连接编辑(假定参数的数目和类型都没有发生改变)。
在不通的系统中,程序可能使用不同的方法说明是否要使用共享库。比较典型的由cc和ld命令的选项。
存储空间分配