2025年动态库和静态库(动态库和静态库的后缀)

动态库和静态库(动态库和静态库的后缀)1 1 简介 之所以称之为 静态库 是因为在链接阶段 会将汇编生成的目标文件 o 与 引用的库一起链接到可执行文件中 对应的链接方式称为 静态链接 如果多个进程需要引用到 静态库 在内存中就会存在多份拷贝 1 2 静态库 的特点 静态库对函数库的链接是在编译期完成的 执行期间代码装载速度快 使可执行文件变大 浪费空间和资源 占空间 对程序的更新



1.1 简介
之所以称之为【静态库】,是因为在链接阶段,会将汇编生成的目标文件.o 与 引用的库一起链接到可执行文件中。对应的链接方式称为 静态链接。
如果多个进程需要引用到【静态库】,在内存中就会存在多份拷贝。

1.2【静态库】的特点:
①静态库对函数库的链接是在编译期完成的。执行期间代码装载速度快。
②使可执行文件变大,浪费空间和资源(占空间)。
③对程序的更新、部署与发布不方便,需要全量更新。如果 某一个静态库更新了,所有使用它的应用④程序都需要重新编译、发布给用户。
静态库

1.1 简介
在程序编译时并不会链接到目标代码中,而是在运行时才被载入。不同的应用程序如果调用相同的库,那么在内存中只需要有一份该共享库的实例,避免了空间浪费问题。同时也解决了静态库对程序的更新的依赖,用户只需更新动态库即可。

1.2 动态库分类(根据动态库的载入时间 load time )
1.动态链接库: 在启动 app 时立刻将动态库进行加载 (随程序启动而启动)
2.动态加载库: 当需要的时候再使用 dlopen 等通过代码或者命令的方式来加载 (在程序启动之后)
以上行为是由动态链接器 (Dynamic linker, 简称 dyld) 来完成

1.3【动态库】的特点:
①动态库把对一些库函数的链接载入推迟到程序运行时期(占时间)。
②可以实现进程之间的资源共享。(因此动态库也称为共享库)
③将一些程序升级变得简单,不需要重新编译,属于增量更新。
动态库

作者:Flawless_00
链接:https://www.jianshu.com/p/432e7d649b07
来源:简书

编程小号
上一篇 2025-03-27 15:17
下一篇 2025-02-21 20:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/34618.html