当前位置: 首页 > news >正文

再识动静态库

动静态库

  • 1 手动制作静态库
  • 2 手动调用静态库
    • 方式一:(安装到系统)
    • 方式二:(和源文件一起)
    • 方式三:(使用带路径的库)
  • 3 动态库制作与使用
    • 方式一:拷贝到系统
    • 方式二:(和源文件一起)
    • 方式三:(使用带路径的库)
    • 方式4
  • 4 动态库的理解(动态库的加载,进程地址空间)
    • 4.1 原理上理解动态库
  • 5 可执行程序格式
  • 6 重谈地址空间
  • 7 动态库的理解

1 手动制作静态库

预备工作
在这里插入图片描述
在这里插入图片描述

上图是我们的准备的阶段(一些最基本的方法)
在这里插入图片描述

这个是为下面做准备的main函数,其中需要注意的是,如果我们将库就保存在当前路径的话,就使用""来引用库,如果是将库保存在系统默认路径下,就还是使用<>

2 手动调用静态库

首先制作库根据前面的理解我们知道,库其实只提供了.o与.h文件:
1、形成 .o
在这里插入图片描述
2、将所有 .o 打包
在这里插入图片描述

方式一:(安装到系统)

其中 -rc ,rc是如果-o存在就不管,如果不存在就创建
静态库标准就是库名前+lib,库名后+.a

3、将 .h 与 .a 拷贝在系统默认位置(所以安装本质上就是拷贝)
在这里插入图片描述
4、gcc、g++认识c/c++的头文件,我们所写的库都是第三方库,如果不说明库名,编译器是找不到的
在这里插入图片描述
需要注意的是库名是去掉前缀和后缀的
-l引入指定名称的第三方库

方式二:(和源文件一起)

别人直接给我们提供库和头文件:
在这里插入图片描述
gcc查库,默认不会在当前路径
在这里插入图片描述
-L. 选项:让gcc在当前路径下查找库,但必须跟上库名

方式三:(使用带路径的库)

在这里插入图片描述
首先我们写一个makefile,output代表着发布库

在这里插入图片描述

当我们要给别人使用时,我们可以直接将stdc压缩打包,然后发送给别人,那别人如何使用?
在这里插入图片描述
-I:在指定目录下查找

3 动态库制作与使用

在这里插入图片描述
首先动态库的后缀为.so,其次编译动态库还是使用gcc命令。
-FPIC:
在这里插入图片描述

动态库的使用:

方式一:拷贝到系统

在这里插入图片描述
在这里插入图片描述

方式二:(和源文件一起)

在这里插入图片描述

方式三:(使用带路径的库)

在这里插入图片描述
在这里插入图片描述
但是是无法使用的:
在这里插入图片描述
在这里插入图片描述
为什么会出现这种情况呢?
这是因为gcc在编译时知道在什么路径下去链接库(因为我们指定了路径),但是运行时跟gcc没有关系,它还是默认在系统路径下查找动态库,现在的问题变成了,我们如何解决动态库查找的问题?

1、将库拷贝到系统路径
2、建立软链接
在这里插入图片描述
3、OS存在环境变量,我们可以增加环境变量
在这里插入图片描述

方式4

在这里插入图片描述

4 动态库的理解(动态库的加载,进程地址空间)

在这里插入图片描述

4.1 原理上理解动态库

1、可执行程序本质上也是磁盘上的文件,当我们运行程序时,它会被加载到内存,它加载后有自己的代码段和数据段,然后页表会建立mm_struct中虚拟地址与内存地址之间的映射关系
2、如果程序中是用了库的方法,所以动态库也需要加载到内存,但是该进程该如何看到加载的动态库?
页表也会将动态库在内存中的地址映射到进程地址空间的堆栈之间的区域(共享区)。

3、进程使用库就是执行代码时,遇到库方法,程序就跳转到共享区,执行库方法的代码(在自己的地址空间中跳转运行)

4、多个进程依赖同一个库时,动态库只会加载一次,其他进程运行时,也是直接建立映射关系到自己的进程地址空间,(所以我们称动态库为共享库)

5、共享库加载到内存的位置有规定吗?动态库映射到进程地址空间的区域有规定吗?

在这里插入图片描述

5 可执行程序格式

在这里插入图片描述
以前我们只知道有可执行程序,现在就来了解一下可执行
在这里插入图片描述

1、首先可执行程序是有自己的格式的,它的格式我们称为ELF,上面这张就是ELF的具体组成
2、数据段,代码段等在ELF中被称为节
3、不仅仅可执行文件,包括库,.o 文件都符合ELF
4、所有的 .c 文件链接形成 .o ,本质上所有的.c文件和.o文件都具有代码段,数据段等各种节,所谓的链接就是将所有相同属性的节合并
在这里插入图片描述
5、header:
在这里插入图片描述
6、我们该如何知道每一个节的开始和结束?(对于任何文件,文本内容就是一维数组,表示文件任何一个区域,偏移量+大小方式)

7、section table: 是一个表(数组),每一个数组元素对应一个特定的数据结构,下标0,1,2.。。代表有多少节,存放每一个节的开始与结束
在这里插入图片描述
一个可执行程序可以被加载到内存的前提是,os要认识你的可执行程序

6 重谈地址空间

一个可执行程序可以被加载到内存的前提是os要认识你的可执行程序

1、mm_struct 是一个结构体,那这个结构体刚开始是由谁初始化的?
正文部分的代码的各种数据区,未初始化区,初始化区这些字段是从哪里来的?从可执行程序,读取可执行程序,加载可执行程序的各种数据节的具体地址而来的
2、可执行程序中的内容有没有地址(未被加载)?有
3、linux系统的编址方式称为平坦模式(逻辑地址=起始地址+偏移量)(000…0000----fffff…fffff)
main函数并不是第一个执行的函数,所以它的地址并不是0,其次指令它是二进制,也有自己的长度,两个地址之间的差值就是一个指令的长度,逻辑上只需要找到起始地址,就可以运行该程序。
在这里插入图片描述
在这里插入图片描述

虚拟地址也是全0-全f,虚拟地址在编译器编译时就已经形成了,在现在逻辑地址在数字上等于虚拟地址

4、程序内部使用的地址就是虚拟地址

5、虚拟地址的开始(程序入口)地址是告诉我们的
在这里插入图片描述
所以操作系统直接将这个地址告诉PC寄存器,接下来就是计组的部分了

5、cpu角度使用的地址是什么地址?虚拟地址
6、程序最终在磁盘上存储的其实是二进制,将文件内容加载到内存中时,其实是加载到内存的物理地址,文件内容也就是一句句指令,它是不是也要有自己的物理地址,所以一个程序被加载到内存中时,不光它内部有互相调用的虚拟地址,还有被加载到内存的物理地址
7、所以现在就可以完善页表了,页表映射的就是虚拟地址和物理地址,同时cpu内部还有一个寄存器叫做CR3(保存页表的起始地址–物理地址)
8、MMU(硬件)+CR3:查找虚拟地址与物理地址
9、EIP:指令寄存器
9、虚拟地址空间是操作系统、cpu、编译器协同的产物
10、 为什么要有虚拟地址和虚拟地址空间:
编译器在编译代码时只需要考虑虚拟地址,也就是操作系统和编译器进行了解耦。

11、真实的内存划分
在这里插入图片描述
操作系统会对每一个区域进行vm_area_struct(堆,栈,数据区等等)

12、可执行程序是按节为单位加载到内存的,这就是4G的内存可以运行更多内存的程序,甚至一个程序的加载只需要起始地址

7 动态库的理解

在这里插入图片描述

相关文章:

再识动静态库

动静态库 1 手动制作静态库2 手动调用静态库方式一&#xff1a;&#xff08;安装到系统&#xff09;方式二&#xff1a;&#xff08;和源文件一起&#xff09;方式三&#xff1a;&#xff08;使用带路径的库&#xff09; 3 动态库制作与使用方式一&#xff1a;拷贝到系统方式二…...

前端 uni-app 初步使用指南

在数字化浪潮下&#xff0c;实现应用多端适配成为开发者的刚需。uni-app 凭借 “一次编写&#xff0c;多端运行” 的特性&#xff0c;极大提升了开发效率&#xff0c;成为前端开发的热门选择。如果你是首次接触 uni-app&#xff0c;这篇文章将带你开启 uni-app 的使用之旅&…...

尼卡音乐 1.1.1 | 免费畅听全网音乐,支持无损下载,无广告无需注册登录

尼卡音乐是一款可以免费畅听全网音乐的应用程序&#xff0c;支持免费下载无损高品质音源&#xff0c;并且没有任何广告&#xff0c;无需注册登录。用户可以轻松搜索全网无损音质音源&#xff0c;并可将其他音乐APP的歌单导入&#xff0c;让音乐陪你开心一整天。该应用彻底拒绝臃…...

33.降速提高EMC能力

降速提高EMC能力 1. 电磁兼容问题的错误累积效应2. 降速减少累积效应的机理分析 1. 电磁兼容问题的错误累积效应 2. 降速减少累积效应的机理分析 降速之后&#xff0c;信号的波形更完整&#xff0c;容错空间更大&#xff1b;另外边沿变缓&#xff0c;对外干扰也会减小。...

【赵渝强老师】TiDB的MVCC机制

TiDB是一款开源的国产分布式关系型数据库。TiKV是TiDB的行存引擎&#xff0c;它支持多版本并发控制(Multi-Version Concurrency Control,MVCC)。假设有这样一种场景&#xff1a;某客户端A在写一个Key&#xff0c;另一个客户端B同时在对这个Key进行读操作。如果没有数据的多版本…...

数电填空题整理(适用期末考试)

在下列门电路中&#xff0c;OC门能实现“线与”逻辑功能&#xff1b; 三态门能用于总线结构的数 据传输&#xff1b;传输门 能实现模拟信号的双向传输。 并联比较型A/D转换器的转换速度最快&#xff0c; 双积分型A/D转换器的稳定性和抗干扰能力最好 TTL与非门多余的输入端应该…...

node核心学习

目录 1-1node概述 1-2全局对象 1-3Node的模块化细节 1-4Node中的ES模块化 1-5基本内置模块 OS模块&#xff1a; path模块&#xff1a; url模块&#xff1a; util模块&#xff1a; 1-6文件IO I/O&#xff1a;input output fs模块的方法 代码示例&#xff1a; 练习…...

基于 PyQt 的YOLO目标检测可视化界面+ nuitka 打包

在人工智能和计算机视觉领域&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;是一种广泛使用的实时目标检测算法。为了直观地展示YOLO算法的检测效果&#xff0c;我们使用Pyqt框架进行检测结果的可视化&#xff0c;同时为了使其能够脱离Python环境&#xff0c;我们…...

234树和红黑树

首先&#xff0c;把目光聚集在234树中 以下是234的三种节点&#xff08;可以有更多这里使用以下的三个&#xff09;&#xff1a; 右侧是节点转换成红黑树节点的样子。 接下来会用以下序列进行1234树的搭建和红黑树的搭建&#xff1a; 首先是234树 2-3-4树&#xff08;234树&…...

GenCLS++:通过联合优化SFT和RL,提升生成式大模型的分类效果

摘要&#xff1a;作为机器学习中的一个基础任务&#xff0c;文本分类在许多领域都发挥着至关重要的作用。随着大型语言模型&#xff08;LLMs&#xff09;的快速扩展&#xff0c;特别是通过强化学习&#xff08;RL&#xff09;的推动&#xff0c;对于更强大的分类器的需求也在不…...

maven坐标导入jar包时剔除不需要的内容

maven坐标导入jar包时剔除不需要的内容 问题描述解决方案 问题描述 maven坐标导入jar包时剔除不需要的内容 解决方案 Spring Boot 默认使用 Logback&#xff0c;需在 pom.xml 中排除其依赖&#xff1a; <dependency><groupId>org.springframework.boot</gro…...

Oracle OCP认证考试考点详解083系列06

题记&#xff1a; 本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 26. 第26题&#xff1a; 题目 解析及答案&#xff1a; 关于块介质恢复&#xff0c;以下哪三项是正确的&#xff1f; A) 需恢复一个或多个…...

llfc项目分布式服务笔记

一、系统整体架构流程图(简明版) 复制代码 +---------------+ +------------------+ +----------------+ | 客户端 (Client) |--------->| GateServer |----------| StatusServer |<--+ +---------------+ +--------------…...

“链式前向星”等三种存图方式分别输出“无向无权图”的“DFS序列”

【DFS序列】 DFS序列&#xff08;深度优先搜索序列&#xff09;&#xff0c;是树或图结构在深度优先遍历过程中生成的节点访问顺序记录。 下面三段代码&#xff0c;分别采用链式前向星、邻接表、邻接矩阵存图&#xff0c;输出图的“DFS序列”。 【DFS&#xff1a;链式前向星】…...

Lesson 16 A polite request

Lesson 16 A polite request 词汇 park n. 公园&#xff0c;停车场&#xff0c;庄园 v. 停车&#xff0c;泊车 例句&#xff1a;让我来停车。    Let me park. 相关&#xff1a;spot n. 车位 区别&#xff1a;garden n. 花园 [小&#xff0c;私家的] 例句&#xff1a;我们…...

【IP101】边缘检测技术全解析:从Sobel到Canny的进阶之路

&#x1f31f; 边缘检测的艺术 &#x1f3a8; 在图像处理的世界里&#xff0c;边缘检测就像是给图像画眉毛 —— 没有它&#xff0c;你的图像就像一只没有轮廓的熊猫&#x1f43c;。让我们一起来探索这个神奇的"美妆"技术&#xff01; &#x1f4da; 目录 基础概念 …...

Nx 智能分发机制(Nx Agents + Nx Cloud)

Nx 智能分发机制&#xff08;Nx Agents  Nx Cloud&#xff09; 阶段关键做的事作用1. 收集信息- Project Graph&#xff1a;解析整个 workspace 依赖关系&#xff08;谁依赖谁&#xff09;- 历史统计&#xff1a;每次 CI 结束后将每个任务的实际用时与缓存命中情况上传…...

《“昊龙一号”:开启中国航天货运新时代》

中国航天新力量:昊龙一号登场 在 2024 年 10 月 29 日上午,神舟十九号载人飞行任务新闻发布会如一颗重磅炸弹,在航天领域激起千层浪。发布会上,一系列关乎中国载人航天工程未来走向的重要信息被披露,其中,“昊龙一号” 货运航天飞机入围空间站低成本货物运输系统总体方案…...

C++ 多态:原理、实现与应用

目录 引言 一、多态的概念 二、多态的定义及实现 &#xff08;一&#xff09;构成条件 &#xff08;二&#xff09;虚函数的深入理解 &#xff08;三&#xff09;虚函数的重写&#xff08;覆盖&#xff09; 三、抽象类 &#xff08;一&#xff09;概念 &#xff08;二&…...

多模态大语言模型arxiv论文略读(五十八)

How Does the Textual Information Affect the Retrieval of Multimodal In-Context Learning? ➡️ 论文标题&#xff1a;How Does the Textual Information Affect the Retrieval of Multimodal In-Context Learning? ➡️ 论文作者&#xff1a;Yang Luo, Zangwei Zheng, …...

TS 枚举类型

枚举 参数为枚举成员中的一个 数字枚举 字符串枚举 枚举特点 、 缺点&#xff1a;转为JS代码时会编译成JS代码&#xff0c;增大开销...

Python容器与循环:数据处理的双剑合璧

Python作为一门简洁强大的编程语言&#xff0c;其容器类型和循环结构的完美结合为数据处理提供了极大的便利。本文将带领初学者深入理解Python中的四大容器&#xff08;列表、元组、字典、集合&#xff09;以及它们与循环结构的配合使用&#xff0c;助你掌握数据处理的核心技能…...

ST-LINKV2仿真器下载

ST-LINKV2仿真器 — 正点原子资料下载中心 1.0.0 文档...

RAGFlow 接入企业微信应用实现原理剖析与最佳实践

背景 近期有医美行业客户咨询我们智能客服产品&#xff0c;期望将自己企业的产品、服务以及报价信息以企微应用的方式给到客户进行体验互动&#xff0c;提升企业运营效率。关于企业微信对接&#xff0c;我们分享下最佳实践&#xff0c;抛砖引玉。效果图如下&#xff1a; 这里也…...

大模型实践:图文解锁Ollama在个人笔记本上部署llm

使用在线模型服务时&#xff0c;我们常常需要支付API调用费用&#xff0c;这对于个人开发者或小型组织来说可能是一笔不小的开支。那么&#xff0c;有没有方法可以在本地免费使用这些强大的模型呢&#xff1f;答案是肯定的——Ollama就是这样一个工具。 当然如果是比较大的组织…...

如何提高情商?(优化版)

引言 提高情商&#xff08;EQ&#xff09;是一个需要长期练习和自我反思的过程&#xff0c;核心在于理解自己、管理情绪、共情他人并有效沟通。以下是一些具体且可操作的方法&#xff0c;结合理论和实际场景&#xff0c;帮助你逐步提升&#xff1a; 一、核心方法&#xff1a;…...

学习黑客Linux权限

在 Linux 的王国里&#xff0c;“权限”就是装备与技能加成&#xff1a;决定谁能拔剑&#xff08;读 r&#xff09;、挥剑&#xff08;写 w&#xff09;、进入房间&#xff08;执行 x&#xff09;。本文用“闯关升级”视角&#xff0c;把常见 rwx、八进制数字、SUID/SGID/Stick…...

信息系统监理师第二版教材模拟题第二组(含解析)

信息系统监理师模拟题第二组(30题) 监理理论与法规 根据《信息系统工程监理暂行规定》,监理单位应当独立于( ) A. 建设单位和承建单位 B. 政府监管部门 C. 行业组织 D. 最终用户答案:A 解析:监理单位应当保持独立性,不得与建设单位和承建单位有隶属关系或其他利害关系…...

C与指针——输入输出

错误定位 当一个库函数出错时&#xff0c;errno会被重置 perror(const char* s);\\输出s: errno 对应的错误信息 \\如果单独想要错误信息可以 char* e strerror(errno);\\系统错误码转换为对应的错误信息字符串输出缓冲区 一般输出缓冲区满的时候才刷新&#xff0c;也就是…...

RR(Repeatable Read)级别如何防止幻读

在 MySQL 数据库事务隔离级别中&#xff0c;RR&#xff08;可重复读&#xff09; 通过 MVCC&#xff08;多版本并发控制&#xff09; 和 锁机制 的组合策略来避免幻读问题。 一、MVCC机制&#xff1a;快照读与版本控制 快照读&#xff08;Snapshot Read&#xff09; 每个事务启…...

Python之学习笔记(六)

文章目录 1. 字典&#xff08;Dictionary&#xff09;2. 集合&#xff08;Set&#xff09;3. 字典 vs 集合4. 应用场景5. 注意事项 Python中的字典&#xff08; dict&#xff09;和集合&#xff08; set&#xff09;是两种高效且常用的数据结构&#xff0c;适用于不同的场景。…...

Easy云盘总结篇-文件上传02

说在前面&#xff1a;此项目是跟着B站一位大佬写的&#xff0c;不分享源码&#xff0c;支持项目付费 文件预览 主要分视频和其他文件预览&#xff0c;但实现逻辑相同&#xff0c;只是请求路径有区别。 这段逻辑&#xff1a; 拿视频预览举例&#xff1a; 视频开始时&#xff…...

window-docker的容器使用宿主机音频设备

文章目录 前言操作配置 前言 你有没有遇到过这种情况&#xff1f; 你兴冲冲地在Windows上用Docker搭了个语音识别项目&#xff0c;准备让容器高歌一曲&#xff0c;或者至少"Hey Docker"一下。结果——静音。 Docker Desktop一脸无辜&#xff1a;“亲&#xff0c;默…...

NaVILA: Legged Robot Vision-Language-ActionModel for Navigation

摘要 本文旨在解决基于视觉与语言导航&#xff08;VLN&#xff09;在四足机器人上的实现问题。该任务不仅为人类提供了一种灵活的指令方式&#xff0c;还使机器人能够在更具挑战性和杂乱的场景中导航。然而&#xff0c;将人类自然语言指令转换为低层次的腿部关节控制指令并非易…...

LeetCode 2071 你可以安排的最多任务数目 题解(附带自己的错误做题思路 过了25/49)

示例 输入&#xff1a;tasks [3,2,1], workers [0,3,3], pills 1, strength 1 输出&#xff1a;3 解释&#xff1a; 我们可以按照如下方案安排药丸&#xff1a; - 给 0 号工人药丸。 - 0 号工人完成任务 2&#xff08;0 1 > 1&#xff09; - 1 号工人完成任务 1&#…...

高翔《视觉SLAM十四讲》中第13讲,单目稠密重建中的RMODE数据集

高翔《视觉SLAM十四讲》中第13讲&#xff0c;单目稠密重建&#xff0c;中的RMODE数据集&#xff0c; 原作者苏黎世大学slam小组提供&#xff0c;但是网址已失效 下载方式&#xff1a; 1 https://vj6cqktnxq.feishu.cn/wiki/KBqtwD6XJio3Rmkm2FkckMY8nPg 2 参考地址&#xff1a…...

PyTorch_张量形状操作

搭建模型时&#xff0c;数据都是基于张量形式的表示&#xff0c;网络层与层之间很多都是以不同的shape的方式进行表现和运算。 对张量形状的操作&#xff0c;以便能够更好处理网络各层之间的数据连接。 reshape 函数的用法 reshape 函数可以再保证张量数据不变的前提下改变数…...

【浅尝Java】变量与数据类型(含隐式类型转换、强制类型转换、整型与字符串互相转换等)

&#x1f35e;自我激励&#xff1a;每天努力一点点&#xff0c;技术变化看得见 文章目录 字面常量数据类型变量变量概念语法格式整型变量字节型变量&#xff08;byte&#xff09;短整型变量&#xff08;short&#xff09;整型变量&#xff08;int&#xff09;长整型&#xff08…...

Ubuntu环境下使用uWSGI服务器【以flask应用部署为例】

0、前置内容说明 首先要知道WSGI是什么&#xff0c;关于WSGI服务器的介绍看这篇&#xff1a;WSGI&#xff08;Web Server Gateway Interface&#xff09;服务器 由于从Python 3.11开始限制了在系统级 Python 环境中使用 pip 安装第三方包&#xff0c;以避免与系统包管理器&am…...

GCC 使用指南

安装 GCC Ubuntu/Debian: sudo apt update && sudo apt install gcc gCentOS/RHEL: sudo yum install gcc gcc-cmacOS (通过 Homebrew): brew install gcc基本用法 编译 C 程序 gcc hello.c -o hello # 编译 hello.c&#xff0c;生成可执行文件 hello ./hello …...

虚函数 vs 纯虚函数 vs 静态函数(C++)

&#x1f9e9; 一图看懂&#xff1a;虚函数 vs 纯虚函数 特性虚函数&#xff08;Virtual&#xff09;纯虚函数&#xff08;Pure Virtual&#xff09;语法virtual void foo();virtual void foo() 0;是否必须实现✅ 必须在类中实现❌ 不在基类实现&#xff0c;派生类必须实现是…...

CF1000E We Need More Bosses

CF1000E We Need More Bosses 题目描述 题目大意&#xff1a; 给定一个 n n n 个点 m m m 条边的无向图&#xff0c;保证图连通。找到两个点 s , t s,t s,t&#xff0c;使得 s s s到 t t t必须经过的边最多&#xff08;一条边无论走哪条路线都经过ta&#xff0c;这条边就是…...

Python:Seaborn 美化图表的技术指南

🎨 1、简述 Seaborn 是建立在 Matplotlib 基础上的高级可视化库,提供了更美观、更简洁的数据统计图表。本文将带你深入了解 Seaborn 的强大功能,并通过多个实践案例掌握使用技巧。 2、Seaborn 1️⃣ 什么是 Seaborn? Seaborn 是一个基于 matplotlib 构建的 Python 可视…...

go实现循环链表

需求 实现循环链表的节点生成、顺序遍历、指定删除。 实现 package mainimport ("fmt" )type zodiac_sign struct {number intdizhi stringanimal stringyear intnext *zodiac_sign }// 添加 // func add_node_by_order(previous_node zodiac_sign, current_…...

QT | 常用控件

前言 &#x1f493; 个人主页&#xff1a;普通young man-CSDN博客 ⏩ 文章专栏&#xff1a;C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见&#x1f4dd; &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐文章 —…...

EasyExcel使用总结

EasyExcel 文章目录 EasyExcel1、导入1.1、基本方式导入1.导入依赖2. 加载源文件基本语法 3. 读取数据行4. 读取结果 1.2、模型映射导入1.定义实体映射类2. 操作读取基本语法 3. 读取数据行4. 读取结果 1.3、导入类型转换器语法 1.4、导入监听器基本语法&#xff1a; 1.5、多行…...

【形式化验证】动态逻辑(DL)的定义解释与示例

动态逻辑&#xff08;Dynamic Logic, DL&#xff09;是一种用于描述和验证程序行为的逻辑系统。它结合了命题逻辑、谓词逻辑以及模态逻辑的特点&#xff0c;特别适用于表达程序执行前后的状态变化。以下将从语法、语义以及实际应用等方面详细介绍DL公式的相关内容。 1. 动态逻…...

OpenCv实战笔记(1)在win11搭建opencv4.11.1 + qt5.15.2 + vs2019_x64开发环境

一. 准备工作 Visual Studio 2019&#xff08;安装时勾选 C 桌面开发 和 Windows 10 SDK&#xff09; CMake 3.20&#xff08;官网下载&#xff09; Qt 5.15.2&#xff08;下载 Qt Online Installer&#xff09;安装时勾选 MSVC 2019 64-bit 组件。 opencv 4.11.1 源码下载 git…...

四年级数学知识边界总结思考-上册

目录 一、背景二、过程1.大数的认识**一、知识点梳理****二、知识点的由来****三、作用与意义****四、总结** 2. 公顷和平方千米**一、知识点梳理****二、知识点的由来****三、作用与意义** 3.角的度量**一、知识点梳理****二、知识点的由来****三、作用与意义** 4.平行四边形和…...

(undone) MIT6.S081 2023 学习笔记 (Day10: LAB9 fs file system)

url: https://pdos.csail.mit.edu/6.1810/2023/labs/fs.html 任务1&#xff1a;Large files (moderate) ----------------- 完成 本次作业中&#xff0c;你将扩大xv6文件的最大容量。当前xv6文件被限制为268个块&#xff08;即268*BSIZE字节&#xff0c;xv6中BSIZE为1024&…...