首页 > 其他分享 >动态库、静态库

动态库、静态库

时间:2023-04-10 23:35:01浏览次数:22  
标签:动态 函数库 静态 程序 源代码 加载

函数库:

  库是将源代码转换为二进制格式的源代码,别人可以使用库,但不能看到库中的内容。

静态函数库:

  在程序在编译的时候就加入到目标程序中

  优点:

    1. 静态库被编译到程序中,加载速度快;

    2. 发布程序时无需提供静态库,因为已经包含在程序中,所以移植方便

  缺点:

    1. 链接时全部拷贝到了程序中,多次使用就会有多分冗余拷贝

    2. 更新麻烦

动态库:

  程序运行时,临时的由目标程序调用

  优点:

    1. 链接时不复制,程序运行时动态的加载到内存中供程序调用,系统只用加载一次,多个程序可以公用

    2. 程序升级简单,因为程序中没有库的源码,只要函数名、参数、返回值不变,只用把实现逻辑进行优化,就能实现程序升级

  缺点:

    1. 加载速度慢

    2. 发布程序时需要提供动态库

 

标签:动态,函数库,静态,程序,源代码,加载
From: https://www.cnblogs.com/zj-studyrecoding/p/17304731.html

相关文章

  • spring boot单库动态分表实现【增删查】(含源码)
    一.背景现实场景中当个别业务数据量过大时会影响系统功能性能,当整个业务还没有达到分库的级别时,动态分表也是一个的选择,基本思想是按照一定维度将数据分表存储动态查询。本次实现的是基于springboot的单表动态增删查,首先分表的规则根据一个格式生产,包含时间在其中,每一条数据......
  • AOP底层原理-装饰模式(静态代理)
    原始方法:静态代理的方法:   测试:  ......
  • vue iview table实现动态自定义表头
    一、前言众所周知,iview中有一个表格组件Table,用于展示多条结构类似的数据。之前遇到过一个需求,要手动控制table的表头显示。就是假如table表格一共有10列数据,可以通过设置勾选,决定显示多少列二、代码为了代码的复用性,将配置页面单独抽成了组件,所以代码中会有组件之间传值父组件......
  • 2.程序员的自我修养 - 静态链接与程序装载
    目录 第二章静态链接2.1程序编译的过程第三章目标文件的格式3.1目标文件的格式3.2目标文件具体内容3.3ELF文件结构3.4重定位表3.5字符串表3.6链接的接口3.7弱符号与强符号第四章静态链接4.1空间与地址分配4.2符号解析与重定位4.3COMMON块4.4C++相关问题4.5链接控制脚本第五章W......
  • Java代理之jdk动态代理+应用场景实战
    本文将先介绍jdk动态代理的基本用法,并对其原理和注意事项予以说明。之后将以两个最常见的应用场景为例,进行代码实操。这两个应用场景分别是拦截器和声明性接口,它们在许多开发框架中广泛使用。比如在spring和mybatis中均使用了拦截器模式,在mybatis中还利用动态代理来实现声明性接口......
  • nginx更新静态页面客户端缓存不刷新问题
    问题描述:频繁部署静态资源,nginx自带缓存未刷新通过ftp/sftp上传到nginx的静态页(尤其是打包好的单页应用),有可能遇到客户端缓存不刷新的问题,即使重启nginx都无效客户端浏览器也有缓存,一般关闭进程(手机清理,注意某些app光按返回键退回桌面是不会结束进程的),强制刷新网页等方法可以......
  • 3、动态数组
    在这里,我们新创建一个数组类,对Java语言中的原始数组进行封装,使得它可以动态的扩容和缩容Java语言中也有类似的实现,叫ArrayList,我们创建的数据类是它的简化版本,下面是代码实现publicclassArray<E>{privateE[]data;privateintsize;publicArray(i......
  • 动态权限批量申请
    @RequiresApi(api=Build.VERSION_CODES.M)@OverrideprotectedvoidonCreate(BundlesavedInstanceState){  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main)  PackageManagerpackageManager=this.getPackageManager();  P......
  • 线性表之静态链表实现(数组cur实现)
    main.cpp#include"StaticList.h"intmain(){StaticListSL;InitSList(SL);for(inti=0;i<5;++i){Insert(SL,'A'+i);}ShowSList(SL);DeleteSList(SL);ShowSList(SL);return0;}Stati......
  • 动态规划的套路
    动态规划的试用前提1.无后效性一旦f(i,j)确定,就不用关心如何计算f(i,j)想要确定f(i,j),只需要知道f(i-1,j)和f(i,j-1)的值。而至于他们如何计算出来,对当前或之后的任何子问题都没有影响过去不依赖将来,将来不影响过去2.最优子结构f(i,j)定义就已蕴含了最优大问题的最优......