当前位置:网站首页 > 云计算与后端部署 > 正文

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



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

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

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

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

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

到此这篇动态库和静态库(动态库和静态库的后缀)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • swagger2默认地址(swagger 默认端口)2025-03-30 20:18:07
  • ElementUI 实现上传同名且后缀不同的两个文件2025-03-30 20:18:07
  • VUE项目部署到tomcat服务器-前端配置2025-03-30 20:18:07
  • 异步操作之后让await后续的代码能够继续执行2025-03-30 20:18:07
  • 前端项目架构模板-(三)交互式打包及自动化部署前端项目2025-03-30 20:18:07
  • rknn模型部署(knn模型训练)2025-03-30 20:18:07
  • samba共享服务端口(samba服务端口号)2025-03-30 20:18:07
  • 电脑安装软件的后缀(电脑安装软件的后缀怎么改)2025-03-30 20:18:07
  • redis端口为什么是6379(redis的默认端口是)2025-03-30 20:18:07
  • oracle 默认端口(oracle默认端口是多少)2025-03-30 20:18:07
  • 全屏图片