您现在的位置是:首页 > 正文

工作记录---静态库和动态库

2024-02-01 03:33:57阅读 2

库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常

本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a.lib)和动态库(.so.dll)。


静态库就是直接将需要的代码连接进可执行程序;

一,静态库的使用需要:
1 包含一个对应的头文件告知编译器lib文件里面的具体内容
2 设置lib文件允许编译器去查找已经编译好的二进制代码


使用静态库(Use   static   libary)是把.lib和其他.obj一起build在目标文件中,目标文件可以是.exe,也可以是.dll或.oxc等。


动态库就是在需要调用其中的函数时,根据函数映射表找到该函数然后调入堆栈执行。

程序运行时需要加载动态库,对动态库有依赖性,需要手动加入动态库。

动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入。不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例,规避了空间浪费问题。动态库在程序运行是才被载入,也解决了静态库对程序的更新、部署和发布页会带来麻烦。用户只需要更新动态库即可,增量更新

网站文章

  • 有名管道与无名管道以及他们之间的区别

    有名管道与无名管道以及他们之间的区别

    有名管道与无名管道以及他们之间的区别

    2024-02-01 03:33:51
  • 特征工程之mushroom classification

    库import numpy as np # linear algebraimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)import matplotlib.pyplot as pltimport seaborn as snsfrom matplotlib.pyplot import figure...

    2024-02-01 03:33:44
  • 简单区分数据库之中的1NF、2NF、3NF、BCNF

    简单理解主属性、非主属性、部分函数依赖、完全函数依赖、传递函数依赖。简单区分1NF、2NF、3NF、4NF

    2024-02-01 03:33:40
  • 【ensp的OSPF多区域配置】

    【ensp的OSPF多区域配置】

    ensp是华为公司提供的一款模拟器,它可以在计算机上模拟出真实的华为网络设备,并支持OSPF协议的配置。OSPF(Open Shortest Path First)是一种开放式最短路径优先协议,它可以...

    2024-02-01 03:33:09
  • ChatGPT大更新!联网/插件功能无需排队,Plus用户下周即可体验

    ChatGPT大更新!联网/插件功能无需排队,Plus用户下周即可体验

    好消息,ChatGPT的联网和插件功能不用等了!OpenAI刚刚宣布,。具体来说,在最新的联网和插件Beta版中,ChatGPT会在设置里增加这样一个界面:回顾一下,网页浏览功能,能让ChatGPT不...

    2024-02-01 03:33:03
  • 如何配置 Kafka 无消息丢失

    如何配置 Kafka 无消息丢失

    kafka在三个阶段可能出现消息丢失,分别是生产消息、消费消息、页缓存操作后异步刷盘。

    2024-02-01 03:32:57
  • PgSQL——学习笔记三:创建&删除模式

    PgSQL——学习笔记三:创建&删除模式

    PostgreSQL 模式(SCHEMA) PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。 一个模式可以包含视图、索引、数据类型、函数和操作符等。 相同的对象名称可以被用于不同的模...

    2024-02-01 03:32:27
  • C++中指针的指针和二维数组相结合,实现动态分配内存、释放内存的写法

    C++中指针的指针和二维数组相结合,实现动态分配内存、释放内存的写法

    指向指针的指针和二维数组结合,申请、释放内存空间很是不好理解,理解了好大一会,才搞明白,把分析结果记录下来。1、下图是存储关系,帮助大家分析理解:2、以下是源代码,加了足够的注释:#include <...

    2024-02-01 03:32:19
  • Vue开发的仿美团外卖Html5前端页面

    Vue开发的仿美团外卖Html5前端页面

    今天给大家开源一个仿美团外卖的Vue项目,介绍Vue和vue-router的基本用法。 工程结构 工程目录结构比较简单,如下图所示。 运行效果 部分运行效果如下图,实现了基本的页面切换,导航菜单,购物车等功能。 如何运行 和其他的Vue项目一样,只需要下载源码,然后执行以下命令即可。 npm install npm run dev 源码链接 ...

    2024-02-01 03:32:12
  • MySQL的主备同步原理及过程

    MySQL的主备同步原理及过程

    主备同步流程图:

    2024-02-01 03:31:44