【VM服务管家】VM4.0平台SDK_2.1环境配置类
目录
- 2.1.1 环境配置:CSharp二次开发环境配置方法
- 2.1.2 环境配置:Qt二次开发环境配置方法
- 2.1.3 环境配置:MFC二次开发环境配置方法
- 2.1.4 环境配置:VB.Net二次开发环境配置方法
- 2.1.5 环境配置:运行出现Vm.Core.Solution报错的解决方法
- 2.1.6 模块索引:MFC 模块索引异常解决办法
- 2.1.7 环境配置:报错序列不包含任何元素的解决方法
- 2.1.8 环境配置:提示未注册ActiveX控件的解决方法
- 2.1.9 控件失效:VM控件运行时不显示的解决方法
- 2.1.10 环境配置:Qt开发环境出现rc.exe无法启动报错解决办法
- 2.1.11 控件失效:添加引用后导致控件失效的解决方法
- 2.1.12 添加引用:在原有项目中新配置深度学习环境的方法
- 2.1.13 用户权限:普通用户权限以EXE方式启动Server的方法
- 2.1.14 引用工具:使用引用工具添加引用报错的解决方法
- 2.1.15 环境配置:句柄创建失败解决问题排查方法
2.1.1 环境配置:CSharp二次开发环境配置方法
描述
环境:VM4.0.0 + VS2015及以上
现象:C#二次开发环境的配置方法
解答
以WinForm为例,进行VM二次开发的环境配置分为三步:
第一步,使用VS新建一个框架为.NET Framework 4.6.1的工程,平台首选32位取消勾选,重新生成解决方案,保证工程Debug下存在exe文件,最后关闭新建工程。
第二步,将VM安装目录下的文件“\VisionMaster4.0.0\Development\V4.0.0 \ComControls\bin\x64”下整体拷贝到新建工程的Debug下。
第三步,启动二次开发导入工具(“\VisionMaster4.0.0\Development\V4.0.0 \ComControls\Tool\ImportRef.exe”),Module(sp)的路径在生成工程Debug下的Module(sp)文件夹,项目所在路径为bin文件的上一层,在选择完指定的路径之后,需要选择引用模块的dll以及是否选择相对路径,最后点击确定,完成环境配置。
另外,当用户是第一次配置环境时,工具箱中将没有VM相关控件,可按如下步骤进行添加。
(1)右击所有窗体,点击选择项。
(2)浏览当前项目路径的debug路径,Winform项目选择VMControls.Winform.Release.dll,最后点击确认。WPF应用程序则是选择VMControls.WPF.Release.dll
问题根因
不熟悉C#二次开发环境配置。
2.1.2 环境配置:Qt二次开发环境配置方法
描述
环境:VM4.0.0 + VS2019+Qt5.12.3
现象:Qt+VS二次开发环境如何配置?
解答
1 新建Qt工程,添加Qt模块Core、GUI、Active Qt和Container Widgets
2 拷贝DLL:VM\VisionMaster4.0.0\Development\V4.0.0\ComControl\bin\x64下的所有拷贝到项目工程输出目录下,如下图所示,项目的输出路径是Dll文件夹。
3 第一种方法:通过拷贝include文件及lib文件至项目工程中的方式配置VM环境
3.1 拷贝\VisionMaster4.0.0\Development\V4.0.0\includes下的头文件。
3.2 拷贝\VisionMaster4.0.0\Development\V4.0.0\ComControl\includes\QT下的头文件。
3.3 拷贝\VisionMaster4.0.0\Development\V4.0.0\libraries\win64\C下的所有库文件。
将以上三个文件夹拷贝到如下所示的项目路径中。
4 第二种方法:通过配置VC++目录和链接器的方式配置VM环境
4.1 VC++目录下包含目录添加以下路径:
1):\VisionMaster4.0.0\Development\V4.0.0\includes 2):\VisionMaster4.0.0\Development\V4.0.0\ComControl\includes\QT
4.2 库目录添加以下路径:
\VisionMaster4.0.0\Development\V4.0.0\libraries\win64\C
4.3 VC链接器附加依赖项写入iMVS-6000PlatformSDK.lib
5.配置完成:#include能索引到VM模块.h文件。
6 第一个VM界面:
6.1 添加容器控件QAxWidget:QAxWidget类是一个包装ActiveX控件的Qwidget,绑定VM控件到QAxWidget控件,VM相关控件在安装时已经注册到windows组件中。
6.2 创建方案句柄初始化控件:在ui界面布局相关控件后,创建VM方案句柄,初始化VM控件。
CreateSolutionInstance();
ui.axWidget->dynamicCall("GetObjectPointer()");
6.3 运行结果:
问题根因
不熟悉Qt二次开发环境配置。
2.1.3 环境配置:MFC二次开发环境配置方法
描述
环境:VM4.0.0 + VS2015及以上
现象:MFC二次开发环境如何配置?
解答
1 新建MFC工程,拷贝DLL:VM\VisionMaster4.0.0\Development\V4.0.0 \ComControl\bin\x64下的所有拷贝到项目工程输出目录下,如下图所示,项目的输出路径是Dll文件夹。
2 通过配置C++目录和链接器的方式配置VM环境
2.1 C++目录下添加附加包含目录.\Includes。
2.2 链接器下添加库目录.\Libraries\win64\C。
2.3 链接器输入里的附加依赖项写入VM的算法依赖库iMVS-6000PlatformSDK.lib
3 添加控件源文件至工程中,复制.\VisionMaster4.0.0\Development\V4.0.0\ComControls\Includes\VS2017(根据VS版本选择)下的控件源文件至工程目录下并引入到工程文件。
4 配置完成:#include能索引到模块.h文件。
5 第一个VM界面:
5.1 添加ActiveX控件,VM控件在安装时已注册如windows,可直接选择。
5.2 控件绑定与初始化
定义控件变量:
protected:CVmProcedureControlInterface m_ctrlProcedure;
控件绑定:
void CVMMFCApplication1Dlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Control(pDX, IDC_VMUSERCONTROL1, m_ctrlProcedure);
}
控件初始化:
BOOL CVMMFCApplication1Dlg::OnInitDialog()
{CDialogEx::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。…// TODO: 在此添加额外的初始化代码try{m_ctrlProcedure.GetObjectPointer();}catch (CVmException e){}return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
5.3运行结果:
问题根因
不熟悉MFC二次开发环境配置。
2.1.4 环境配置:VB.Net二次开发环境配置方法
描述
环境:VM4.0+VS2015及以上
现象:使用Visual Basic语言来进行VM二次开发的环境搭建。
解答
Visual Basic进行VM二次开发的环境配置分为三步。
第一步,使用VS新建一个框架为.NET Framework 4.6.1,平台去勾选首选32为的工程,重新生成解决方案,保证工程Debug下存在exe文件,最后关闭新建工程;
第二步,将VM安装目录下的文件“\VisionMaster4.0.0\Development\V4.0.0\ComControls\bin\x64”整体复制拷贝到新建工程的Debug下;
第三步,添加工程引用,需要手动引用基本库和相关模块工具的dll;
第四步,修改APP.Config文件,拷贝了众多VM依托dll于项目的Debug目录下,还需要在项目的APP.Config中的privatePath上指明dll位置,因此需要客户对APP.Config中添加如下代码,完成整体环境配置。
问题根因
二次开发环境配置功能不熟悉。
2.1.5 环境配置:运行出现Vm.Core.Solution报错的解决方法
描述
环境:VM4.0.0 + VS2015及以上
现象:VM4.0.0环境配置运行出现Vm.Core.Solution报错。
解答
(1)检查加密狗有没有插好? 是否以管理员权限启动程序?首选32位是否取消勾选?
(2)查看VM4.0的版本信息是否为最新版本?版本信息为20220415以上,版本越新问题就会越少。如果打过最新补丁(截止20220505,最新补丁为20220505,建议用户打上最新补丁),则需要将打完补丁后的VisionMaster4.0.0\Development\V4.0.0\ComControls\bin\x64下面所有的文件全部替换到二次开发项目的EXE生成路径下(Debug下)。
(3)在任务管理器中关闭所有VM相关程序,这种操作可以在二次开发的初始化处用如下代码代替。(以防VM双开) 。
C#
KillProcess("VisionMasterServerApp");
KillProcess("VisionMaster");
void KillProcess(string strKillName)
{foreach(System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses()){if (p.ProcessName == strKillName){try{p.Kill();p.WaitForExit();}catch(Exception e){Console.WriteLine(e.Message.ToString());}}}
}
补充:
VM启动时,拉起来的进程有四个:VisionMaster.exe,VisionMasterServer.exe,VisionMasterServerAPP.exe,VmModuleProxy.exe;
VM SDK程序启动时,拉起来的进程有两个:VisionMasterServer.exe,VmModuleProxy.exe;
所以,只需要结束VisionMaster.exe和VisionMasterServerAPP.exe进程即可。
(4)检查VM安装环境是否正常?运行VisionMaster4.0.0\Applications\Tools目录下的EnvironmentDetectionTool.exe。
(5)如果这期间打开过多个版本的VM,可以试一下重启电脑或打开相应版本的VM来拉起相应版本的服务。
(6)是否严格按照环境步骤来配置环境?是使用ImportRef工具添加引用,针对一个项目,工具只使用一次。
问题根因
不熟悉如何排查报错原因
2.1.6 模块索引:MFC 模块索引异常解决办法
描述
环境:VM4.0.0 + VS2015及以上
现象:文件编码格式为UTF-8 不带签名编码格式,模块索引会出现 模块无法找到异常
解答
更改文件类型为UTF-8 带签名格式或vs默认GBK2312 编码格式
问题根因
不熟悉引用库环境配置。
2.1.7 环境配置:报错序列不包含任何元素的解决方法
描述
环境:VM4.0.0+VS2015及以上
现象:配置环境后,获取线线测量模块结果,报错“序列不包含任何元素”。如下图所示:
解答
将“\VisionMaster4.0.0\Development\V4.0.0 \ComControls\bin\x64”下整体重新拷贝。
问题根因
相关依赖库未拷贝。
2.1.8 环境配置:提示未注册ActiveX控件的解决方法
描述
环境:VM4.0.0 +VS2015及以上
问题:如何解决MFC插入VM的控件时,报错未注册ActiveX控件的问题,报错截图如下:
解答
关闭VS后,重新注册VM控件,注册步骤如下:
10解注册VM控件,找到如下的win64路径下,右键以管理员权限运行ComUnRegister.bat执行解注册。
2)注册VM控件,找到如下的win64路径下,右键以管理员权限运行ComRegister.bat执行注册。
3)对win32文件夹下的两个文件重复上述操作。
问题根因
不了解如何注册VM控件。
2.1.9 控件失效:VM控件运行时不显示的解决方法
描述
环境:VM4.0.0 + VS2015及以上
现象:编译成功后,没有报错,运行之后VM控件是黑色的,不显示任何内容。如下图右边的黑色区域所示。
解答
此时为环境配置错误,确定本地VM是否是最新版本,然后将本地VM的路径(如:D:\VM4.0\VisionMaster4.0.0\Development\V4.0.0\ComControls\bin\x64)下的所有文件复制到项目路径的Debug文件下。
问题根因
不熟悉全局变量工具及其接口。
2.1.10 环境配置:Qt开发环境出现rc.exe无法启动报错解决办法
描述
环境:VM4.0.0 + VS2015+Qt5.9.9
现象:编译出现rc.exe 无法启动
解答
-
找到WindowsSDK 的x86 目录下的rc.exe 以及rcdll.dll 文件
-
复制到VS bin 目录下
问题根因
系统问题
2.1.11 控件失效:添加引用后导致控件失效的解决方法
描述
环境:VM4.0.0 + VS2015及以上
现象:在VM二次开发中,有些引用需要手动添加,如引用VMControls.WPF.dll进行在渲染控件上绘图。但是,在添加之后运行项目,界面上的VM控件区失效,如下图所示的vmProcedureConfigControl、vmRenderControl和vmGlobalToolControl。
解答
因为VM的引用都是采用相对路径的方式,如果此时是从VM的安装路径中来添加相加的引用,则需要打开当前引用的dll的属性,将复制本地改为False,如下图所示:
问题根因
不熟悉VM二次开发中的引用。
2.1.12 添加引用:在原有项目中新配置深度学习环境的方法
描述
环境:VM4.0.0 + VS2015及以上
现象:在VM没有装深度学习模块时搭建了二次开发项目,后来项目中需要应用到深度学习。VM中可以很方便的安装深度学习模块,那么如何在原有的项目中配置深度学习模块的dll呢?
解答
在原有项目中新配置深度学习环境的步骤如下所示:
1、VM中安装好深度学习模块后,将本地VM路径下\VM4.0\VisionMaster4.0.0\Development\V4.0.0\ComControls\bin\x64的dll全部拷贝到项目的debug下。
2、手动添加引用项目debug下Module(sp)\x64\DeepLearning相应文件里面的dll, C代表CPU。
注意手动添加后,引用的属性立马修改(复制本地路径为false)。为true时,debug就会有刚刚复制过来的dll,debug\Module(sp)\x64下的文件夹中也有,代码就会找不到。如果debug下已经有了,就要删除掉。
3、修改app.config,在<probing privatePath=>的后面添加相应的深度学习的相对路径Module(sp)\x64\DeepLearning\ IMVSCnnClassifyModuC
4、注意,其它模块手动添加引用的步骤类似,但是由于手动添加引用的步骤比较复杂,且对于模块以外的dll很难添加齐全,所以推荐使用引用工具来添加引用(“\VisionMaster4.0.0\Development\V4.0.0 \ComControls\Tool\ImportRef.exe”),且对于一个项目只使用一次工具。
问题根因
不熟悉环境配置
2.1.13 用户权限:普通用户权限以EXE方式启动Server的方法
描述
环境:VM4.0.0 + VS2015及以上
现象:当客户二次开发程序,需要以Windows普通用户权限调用Vm做视觉处理,需要将Server以EXE方式启动。
解答
1)安装VM20220415的安装包,然后安装补丁包(截止20220505,最新补丁为20220505,建议用户打上最新补丁)。如果VM4.0维护版2022年5月份之后的有完整包,直接安装即可,不用安装补丁包。
2)修改二次开发程序的xxx.exe.config配置文件,在“AppSettings”里面增加以下两条信息。下图以圆查找demo程序为例。注意“ServerPath”是该电脑上Server的绝对路径,要填正确。
问题根因
不熟悉普通用户权限二次开发的配置。
2.1.14 引用工具:使用引用工具添加引用报错的解决方法
描述
环境:VM4.0.0 +VS2015及以上
现象:在VM4.0的二次开发环境配置中,ImportRef可以帮助用户为项目自动添加引用,但有时会报错缺少mfc120u.dll。
解答
这个问题可以直接运行VM安装路径下的驱动MSVBCRT.AIO_v2020.05.20.exe解决:
问题根因
不熟悉VM自带的驱动。
2.1.15 环境配置:句柄创建失败解决问题排查方法
描述
环境:VM4.0.0 + VS2015及以上
现象:VM 二次开发执行CreateSolutionInstance() 出现句柄错误问题。
解答
问题截图如下:
解决办法:
- VM平台软件如果开启,需要关闭退出。
- VS未开启管理员权限。
- 加密狗未插上,或未安装驱动。
问题根因
不熟悉VM 二次开发流程。
相关文章:

【VM服务管家】VM4.0平台SDK_2.1环境配置类
目录 2.1.1 环境配置:CSharp二次开发环境配置方法2.1.2 环境配置:Qt二次开发环境配置方法2.1.3 环境配置:MFC二次开发环境配置方法2.1.4 环境配置:VB.Net二次开发环境配置方法2.1.5 环境配置:运行出现Vm.Core.Solution…...

最新研究:可审计的具有拜占庭鲁棒的联邦学习方案
Y. Liang, Y. Li and B. -S. Shin, “Auditable Federated Learning With Byzantine Robustness,” in IEEE Transactions on Computational Social Systems, doi: 10.1109/TCSS.2023.3266019. 可免费下载:https://download.csdn.net/download/liangyihuai/87727720…...

JDK1.8下载、安装和环境配置教程
🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🦾🦾 目录 window系统安装java 下载JDK 配置环境变量 …...

天津超算,青索帮助文档
连接 第一步,点击 配置VPN(切换到局域网用)和机器(也就是各套超算系统)。 第二步,点击 机器 选择对应的机器。通常会在下方显示可用的机器,单击其中一个即可。如果只有一个机器,…...

SpringMVC的拦截器和异常处理器
目录 lerInterceptor 拦截器 1、拦截器的作用 2、拦截器的创建 3、拦截器的三个抽象方法 4、拦截器的配置 5、多个拦截器的执行顺序 SpringMVC的异常处理器 1、异常处理器概述 2、基于配置文件的异常处理 3、基于注解的异常处理 lerInterceptor 拦截器 1、拦截器的作…...

查看库文件是32位还是64位|查看lib是静态库还是导入库|判断是debug模式还是release模式
文章目录 dll位数查看lib位数查看查看lib库是静态库还是导入库dll库文件信息查看lib库文件内容查看dll库查看编译模式是debug还是release方法一方法二方法三 lib静态库查看编译模式是debug还是release方法一方法二 lib导入库查看编译模式是debug还是release查看Linux下的.a库&a…...

Python小姿势 - Python爬取数据的库——Scrapy
Python爬取数据的库——Scrapy 一、爬虫的基本原理 爬虫的基本原理就是模拟人的行为,使用指定的工具和方法访问网站,然后把网站上的内容抓取到本地来。 爬虫的基本步骤: 1、获取URL地址: 2、发送请求获取网页源码; 3、…...

[C++初阶]栈和队列_优先级队列的模拟实现 deque类 的理解
为了更好的理解优先级队列priority_queue,这里会同时进行栈和队列的提及 文章目录 简要概念(栈和队列)栈和队列的模拟实现与使用stack(栈)deque的理解和操作queue priority_queue(优先级队列)框…...

Spring是什么?关于Spring家族
初识Spring 什么是Spring? Spring是一个开源的Java企业级应用程序开发框架,由Rod Johnson于2003年创建,并在接下来的几年里得到了广泛的发展和应用。它提供了一系列面向对象的编程和配置模型,支持开发各种类型的应用程序&#x…...

自然语言处理数据集集锦(持续更新ing...)
诸神缄默不语-个人CSDN博文目录 最近更新时间:2023.4.26 最早更新时间:2023.4.25 文本摘要主题的数据集见我之前写的另一篇博文:文本摘要数据集的整理、总结及介绍(持续更新ing…) 智能司法主题的数据集我准备等项目…...

93、Dehazing-NeRF: Neural Radiance Fields from Hazy Images
简介 论文:https://arxiv.org/pdf/2304.11448.pdf 从模糊图像输入中恢复清晰NeRF 使用大气散射模型模拟有雾图像的物理成像过程,联合学习大气散射模型和干净的NeRF模型,用于图像去雾和新视图合成 通过将NeRF 3D场景的深度估计与大气散射模…...

JAVA子类与继承
目录 JAVA子类与继承 一、子类与父类: 二、子类与对象 三、成员变量的隐藏和方法重写 四、super关键字(P122) 五、final关键字 六、对象的上转型对象(P126) 七、继承与多态(P128) 八、abstract类和…...

62 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库
文章目录 62 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库62.1 创建数据库示例 62.2 查看数据库示例 62.3 选择数据库示例 62.4 删除数据库示例 62.5 备份数据库示例 62.6 恢复数据库示例 62 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库 62.1 创建数据库…...

【分布式搜索引擎ES01】
分布式搜索引擎ES 分布式搜索引擎ES1.elasticsearch概念1.1.ES起源1.2.倒排索引1.2.1.正向索引1.2.2.倒排索引 1.3.es的一些概念1.3.1.文档和字段1.3.2.索引和映射1.3.3.mysql与elasticsearch 1.4.1安装es、kibana、IK分词器1.4.2扩展词词典与停用词词典 2.索引库操作2.1.mappi…...

1.3 鞅、停时和域流-鞅(布朗运动与随机计算【习题解答】)
Let X = ( x n , F n ) , n = 1 , ⋯ , N X=\left(x_n, \mathcal{F}_n\right), n=1, \cdots, N X...

十、ElasticSearch 实战 - 源码运行
一、概述 想深入理解 Elasticsearch,了解其报错机制,并有针对性的调整参数,阅读其源码是很有必要的。此外,了解优秀开源项目的代码架构,能够提高个人的代码架构能力 阅读 Elasticsearch 源码的第一步是搭建调试环境&…...

GPT-3 论文阅读笔记
GPT-3模型出自论文《Language Models are Few-Shot Learners》是OpenAI在2020年5月发布的。 论文摘要翻译:最近的工作表明,通过对大量文本进行预训练,然后对特定任务进行微调(fine-tuning),在许多NLP任务和基准测试上…...

方案解析丨数字人主播如何成为电商直播新标配
浙江省政府办公厅近日印发《关于进一步扩大消费促进高质量发展若干举措》支持电子商务直播发展。抢抓电子商务直播快速发展机遇,发展数字人虚拟主播、元宇宙新消费场景等新业态新模式。 随着电商直播快速发展,企业怎么高效地实现引流获客,成为…...

Python最全迭代器有哪些?
python中迭代器的使用是最广泛的,凡是使用for语句,其本质都是迭代器的应用。 从代码角度看,迭代器是实现了迭代器协议的对象或类。迭代器协议方法主要是两个: __iter__()__next__() __iter__()方法返回对象本身,他是…...

ESP32 网络计时器,包含自动保存
简介 本代码是基于ESP32开发板实现的一个计时器功能,具备倒计时、计时器时长选择、显示当前时间、有源蜂鸣器报警等功能。代码中使用了WiFi网络连接、NTP时间同步、EEPROM存储等功能。通过按钮控制计时器的开始、停止和计时器时长的选择。 运行原理概述 在ESP32开…...

【ChatGPT】阿里版 ChatGPT 突然官宣意味着什么?
Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 目录 阿里版 ChatGPT 突然官宣 ChatGPT 技术在 AI 领域的重要性 自然语言生成 上下文连续性 多语言支持 ChatGPT 未来可能的应用场景 社交领域 商业领域 编辑 医疗领域…...

IPEmotion控制模块-PID循环应用
IPEmotion专业版、开发版支持控制模块,并且该模块支持函数发生器、PID控制器、路由器、序列控制和序列控制块以及参考曲线生成器。本文主要针对PID(P:Proportional control 比例控制;I:Integral control 积分控制&…...

【元分析研究方法】学习笔记2.检索文献(含100种学术文献搜索清单链接)
检索文献 该步骤的作用该步骤中需要注意的问题该步骤中部分知识点我的收获 参考来源:库珀 (Cooper, H. M. )., 李超平, & 张昱城. (2020). 元分析研究方法: A step-by step approach. 中国人民大学出版社. 该步骤的作用 1.识别相关文献的来源; 2.识别…...

题目:16版.自由落体
1、实验要求 本实验要求:模拟物体从10000米高空掉落后的反弹行为。 1-1. 创建工程并配置环境: 1-1.1. 限制1. 工程取名:SE_JAVA_EXP_E009。 1-1.2. 限制2. 创建包,取名:cn.campsg.java.experiment。 1-1.3. 限制3. 创建…...

视频可视化搭建项目,通过简单拖拽方式快速生产一个短视频
一、开源项目简介 《视搭》是一个视频可视化搭建项目。您可以通过简单的拖拽方式快速生产一个短视频,使用方式就像易企秀或百度 H5 等 h5 搭建工具一样的简单。目前行业内罕有关于视频可视化搭建的开源项目,《视搭》是一个相对比较完整的开源项目&#…...

network-1 4 layer internet model
4layer model applicationtransport tcp: transmission control protocol enable correct in-order delivery of data, running on top of the network layer service.udp: user datagram protocolnetwork packet:data、from、tonetwork->linkiplink source en…...

计算机网络笔记(横向)
该笔记也是我考研期间做的整理。一般网上的笔记是按照章节纪录的,我是按照知识点分类纪录的,大纲如下: 文章目录 1. 各报文1.1 各报文头部详解1.2 相关口诀 2. 各协议2.1 各应用层协议使用的传输层协议与端口2.2 各协议的过程2.2.1 数据链路层…...

0.redis-实践
1.redis内存设置多少,默认是0,不限制 2.如何配置,修改内存大小 1) 查看最大占用内存 # maxmeory <bytes> 或者 config get maxmemory 2) 默认内存多少可以用: 64位系统下不限制,32位下最多3G 3) 如何配置: 默认总内存的3/4 4) 如何修改…...

Redux的基本使用,从入门到入土
目录 一、初步使用Redux 1.安装Redux 2.配置状态机 二、Redux的核心概念 1.工作流程 2.工作流程 三、优化Redux 1.对action进行优化 2.type常量 3.reducer优化 四、react-redux使用 1.安装react-redux 2.全局注入store仓库 3.组件关联仓库 五、状态机的Hook 1.u…...

GDOUCTF2023-部分re复现
目录 [GDOUCTF 2023]Check_Your_Luck [GDOUCTF 2023]Tea [GDOUCTF 2023]doublegame [GDOUCTF 2023]Check_Your_Luck 打开题目是一串代码,明显的z3约束器求解 直接上脚本 import z3 from z3 import Reals z3.Solver() vReal(v) xReal(x) yReal(y) wReal(w) zRea…...