首页 > 其他分享 >静态库和动态库的区别

静态库和动态库的区别

时间:2023-02-07 21:00:51浏览次数:45  
标签:可执行文件 区别 静态 优缺点 动态 打包 加载

程序编译成可执行程序的过程

动态库会在链接过程中将自己名字信息打包到可执行文件中,但是不会把自己代码打包过去
静态库则是会将自己的代码直接打包到可执行文件中

静态库的创建

image

动态库的创建

动态库的api是在运行中查找,一般需要手动改变环境变量
image

静态库优缺点

  • 静态库的加载速度快
  • 发布程序无需提供静态库,移植方便
  • 消耗系统资源,浪费内存
  • 更新、部署和发布麻烦

动态库优缺点

  • 可以实现进程间的资源共享
  • 更新、部署、发布简单
  • 可以控制何时加载动态库
  • 加载速度比较慢
  • 发布程序时需要提供依赖的动态库

标签:可执行文件,区别,静态,优缺点,动态,打包,加载
From: https://www.cnblogs.com/xiaoqing-ing/p/17099792.html

相关文章

  • utf8mb4_general_ci和utf8mb4_unicode_ci区别
    1.准确性:utf8mb4_unicode_ci是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序utf8mb4_general_ci没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结......
  • 动态库的制作和使用
    动态库的制作动态库也称为共享库注意一定加上-fpic动态库加载失败原因:程序启动之后,程序会把动态库的的内容加载到内存之中,通过ldd命令检查动态库依赖关系解决动......
  • 动态链接库的动态加载
    #include<stdio.h>#include<dlfcn.h>intmain(void){//使用动态加载的编译时必须链接dl库(-ldl),因为动态加载的各种方法都在dl库中//gccmain.c-otes......
  • 静态库的制作和使用
    库文件计算机上的一类文件,可以看作代码库两种,静态库和动态库静态库在程序的链接阶段被复制到程序中;动态库在链接阶段没有被复制,而是在运行时由系统动态的加载到内存供......
  • rxjs 实现动态异步调度系统
     通过mergemap操作符:实现任务池的限制,通过defer操作符:延迟创建可观察对象实现异步task的队列等待。最终输出结果2,1,3,4符合预期 importReact,{useState,us......
  • java中Map判断是否为空之isEmpty()与==null的区别
    isEmpty()方法判断Map是否有内容(即new分配空间后是否put键值对),若没有内容则true,否则false==null是判断map是否为null(即是否new分配空间,和其中的键值对没关系),若没有内容......
  • 深入探究frame和bounds的区别以及setbounds使用
    在iOS开发中经常遇到两个词Frame和bounds,本文主要阐述Frame和bound的区别,尤其是bound很绕,很难理解。一、首先,看一下公认的资料先看到下面的代码你肯定就明白了一些:-......
  • 微服务引擎 MSE 2022年12月产品动态
    点击​​此处​​查看微服务引擎产品......
  • 服务网格 ASM 2022年12月产品动态
    ......
  • 微服务引擎 MSE 2022年12月产品动态
    点击此处查看微服务引擎产品......