macOS - 安装使用 libvirt、virsh

文章目录
- 关于 libvirt
- 使用
- 安装
- 启动服务
- virsh 交互模式
- virsh 帮助命令
关于 libvirt
- libvirt 官网: https://libvirt.org/
- gitlab : https://gitlab.com/libvirt/libvirt
- github : https://github.com/libvirt/libvirt 只读,gitlab 的镜像
libvirt是一套用于管理硬件虚拟化的开源API、守护进程与管理工具。
此套组可用于管理KVM、Xen、VMware ESXi、QEMU及其他虚拟化技术。
libvirt内置的API广泛用于云解决方案开发中的虚拟机监视器编排层(Orchestration Layer)。
virsh 包含在 libvirt 中,安装 libvirt 后,就会自带 virsh 工具。
virsh 是管理 虚拟化系统和虚拟机的工具。
相关博客/教程
- 木易:KVM笔记12(virsh的应用)
https://www.bilibili.com/video/BV1f34y197Kk/ - (linux) virsh使用总结
https://www.cnblogs.com/wn1m/p/11280804.html
使用
安装
- libvirt : macOS support
https://libvirt.org/macos.html
brew install libvirt
启动服务
brew services restart libvirt# 停止服务
brew services stop libvirt
查看服务是否启动
$ ps -ef | grep libvirt501 8033 1 0 9:18上午 ?? 0:00.07 /usr/local/opt/libvirt/sbin/libvirtd -f /usr/local/etc/libvirt/libvirtd.conf501 8038 5154 0 9:19上午 ttys001 0:00.00 grep libvirt
$ virsh list
# virsh list --allId 名称 状态
-------------------
virsh 交互模式
$ virsh
欢迎使用虚拟化环境下的交互式终端 virsh。输入:'help' 获得命令的帮助信息'quit' 退出virsh # quit
virsh 帮助命令
$ virsh -h virsh [options]... [<command_string>]
virsh [options]... <command> [args...] options:-c | --connect=URI 可以连接到管理程序(即虚拟化层)的 URI-d | --debug=NUM 调试级别 [0-4]-e | --escape <char> 设置退出console的字符。可以设置为单字符或CTRL+单字符。默认是CTRL+]-h | --help 显示帮助信息-k | --keepalive-interval=NUMkeepalive消息的发送间隔,以秒为单位。值为0时禁止发送keepalive消息-K | --keepalive-count=NUM将发送keepalive消息的最大次数设置为NUM,若在NUM次后仍未收到响应,则断开连接-l | --log=FILE 将日志输出到指定文件中-q | --quiet 显示简洁的消息-r | --readonly 以只读模式连接管理程序(即虚拟化层)。只读模式下,操作会受限-t | --timing 额外显示virsh执行子命令所耗费的时间-v 显示简略的版本信息-V 显示详细的版本信息--version[=TYPE] 显示版本信息, “TYPE”的值是“short”或“long” (默认是“short”)命令列表 (非交互模式):Domain Management (指定关键字'domain'时可以显示此部分帮助信息)attach-device 从一个XML文件附加装置attach-disk 附加磁盘设备attach-interface 获得网络界面autostart 自动开始一个域blkdeviotune 设定或者查询块设备 I/O 调节参数。blkiotune 获取或者数值 blkio 参数blockcommit 启动块提交操作。blockcopy 启动块复制操作。blockjob 管理活跃块操作blockpull 使用其后端映像填充磁盘。blockresize 创新定义域块设备大小change-media 更改 CD 介质或者软盘驱动器console 连接到客户会话cpu-stats 显示域 cpu 统计数据create 从一个 XML 文件创建一个域define 从一个 XML 文件定义(但不开始)一个域desc 显示或者设定域描述或者标题destroy 销毁(停止)域detach-device 从一个 XML 文件分离设备detach-device-alias 从别名中分离设备detach-disk 分离磁盘设备detach-interface 分离网络界面domdisplay 域显示连接 URIdomfsfreeze 冻结域的挂载的文件系统。domfsthaw 解冻域的挂载的文件系统.domfsinfo 获取域的挂载的文件系统的信息。domfstrim 在域挂载的文件系统中调用 fstrim。domhostname 输出域主机名domid 把一个域名或 UUID 转换为域 iddomif-setlink 设定虚拟接口的链接状态domiftune 获取/设定虚拟接口参数domjobabort 忽略活跃域任务domjobinfo 域任务信息domlaunchsecinfo 获取域启动安全性信息domsetlaunchsecstate 设置域启动安全状态domname 将域 id 或 UUID 转换为域名domrename 重命名域dompmsuspend 使用电源管理功能挂起域dompmwakeup 从 pmsuspended 状态唤醒域domuuid 把一个域名或 id 转换为域 UUIDdomxml-from-native 将原始配置转换为域 XMLdomxml-to-native 将域 XML 转换为原始配置dump 把一个域的内核 dump 到一个文件中以方便分析dumpxml XML 中的域信息edit 编辑某个域的 XML 配置get-user-sshkeys 列出给定用户的授权的 SSH 密钥(通过代理)inject-nmi 在虚拟机中输入 NMIiothreadinfo 查看域 IO 线程iothreadpin 控制域 IOThread 关联性iothreadadd 向 guest 域添加 IOThreadiothreadset 修改 guest 域的现有 IOThreadiothreaddel 从 guest 域中删除 IOThreadsend-key 向虚拟机发送序列号send-process-signal 向进程发送信号lxc-enter-namespace LXC 虚拟机进入名称空间managedsave 管理的域状态的保存managedsave-remove 删除域的管理保存managedsave-edit 编辑域受管的保存状态文件的 XMLmanagedsave-dumpxml XML 中受管保存状态文件的域信息managedsave-define 重新定义域的受管保存状态文件的 XMLmemtune 获取或者数值内存参数perf 获取或设置 perf 事件metadata 显示或设置域的自定义 XML 元数据migrate 将域迁移到另一个主机中migrate-setmaxdowntime 设定最大可耐受故障时间migrate-getmaxdowntime 获得最大可容忍停机时间migrate-compcache 获取/设定压缩缓存大小migrate-setspeed 设定迁移带宽的最大值migrate-getspeed 获取最长迁移带宽migrate-postcopy 将运行迁移从 pre-copy 切换到 post-copynumatune 获取或者数值 numa 参数qemu-attach QEMU 附加qemu-monitor-command QEMU 监控程序命令qemu-monitor-event QEMU 监控事件qemu-agent-command QEMU 虚拟机代理命令guest-agent-timeout 设置客户机代理超时reboot 重新启动一个域reset 重新设定域restore 从一个存在一个文件中的状态恢复一个域resume 重新恢复一个域save 把一个域的状态保存到一个文件save-image-define 为域的保存状态文件重新定义 XMLsave-image-dumpxml 在 XML 中保存状态域信息save-image-edit 为域保存状态文件编辑 XMLschedinfo 显示/设置日程安排变量screenshot 提取当前域控制台快照并保存到文件中set-lifecycle-action 更改生命周期操作set-user-sshkeys 操作给定用户的授权的 SSH 密钥文件(通过代理)set-user-password 设置域中用户的密码setmaxmem 改变最大内存限制值setmem 改变内存的分配setvcpus 改变虚拟 CPU 的号shutdown 关闭一个域start 启动一个(以前定义的)非活跃的域suspend 挂起一个域ttyconsole tty 控制台undefine 取消定义一个域update-device 从 XML 文件中关系设备update-memory-device 更新域的内存设备vcpucount 域 vcpu 计数vcpuinfo 详细的域 vcpu 信息vcpupin 控制或者查询域 vcpu 亲和性emulatorpin 控制火车查询域模拟器亲和性vncdisplay vnc 显示guestvcpus 查询或修改客户机中 vcpu 的状态(通过代理)setvcpu attach/detach vcpu 或线程组domblkthreshold 为给定的块设备或其后备链元素设置 block-threshold 事件的阈值guestinfo 查询有关客户机的信息(通过代理)domdirtyrate-calc 计算虚拟机的内存脏率dom-fd-associate 将 FD 与一个域关联Domain Monitoring (指定关键字'monitor'时可以显示此部分帮助信息)domblkerror 在块设备中显示错误domblkinfo 域块设备大小信息domblklist 列出所有域块domblkstat 获得域设备块状态domcontrol 域控制接口状态domif-getlink 获取虚拟接口链接状态domifaddr 获取正在运行的域的网络接口地址domiflist 列出所有域虚拟接口domifstat 获得域网络接口状态dominfo 域信息dommemstat 获取域的内存统计domstate 域状态domstats 获取有关一个或多个域的统计信息domtime 域时间list 列出域Domain Events (指定关键字'events'时可以显示此部分帮助信息)event 域事件Host and Hypervisor (指定关键字'host'时可以显示此部分帮助信息)allocpages 操作页池大小capabilities 性能cpu-baseline 计算基线 CPUcpu-compare 使用 XML 文件中描述的 CPU 与主机 CPU 进行对比cpu-models CPU 型号domcapabilities 域功能freecell NUMA 可用内存freepages NUMA 可用页面hostname 打印管理程序主机名hypervisor-cpu-baseline 特定的 hypervisor 所使用的计算基准 CPUhypervisor-cpu-compare 将 CPU 与主机上的 hypervisor 创建的 CPU 进行比较maxvcpus 连接 vcpu 最大值node-memory-tune 获取或者设定节点内存参数nodecpumap 节点 cpu 映射nodecpustats 输出节点的 cpu 状统计数据。nodeinfo 节点信息nodememstats 输出节点的内存状统计数据。nodesevinfo 节点 SEV 信息nodesuspend 在给定时间段挂起主机节点sysinfo 输出 hypervisor sysinfouri 打印管理程序典型的URIversion 显示版本Checkpoint (指定关键字'checkpoint'时可以显示此部分帮助信息)checkpoint-create 从 XML 创建检查点checkpoint-create-as 从一组 args 创建检查点checkpoint-delete 删除域检查点checkpoint-dumpxml 域检查点的转储 XMLcheckpoint-edit 编辑检查点的 XMLcheckpoint-info 检查点信息checkpoint-list 列出域的检查点checkpoint-parent 获取检查点的父名称Interface (指定关键字'interface'时可以显示此部分帮助信息)iface-begin 生成当前接口设置快照,可在今后用于提交 (iface-commit) 或者恢复 (iface-rollback)iface-bridge 生成桥接设备并为其附加一个现有网络设备iface-commit 提交 iface-begin 后的更改并释放恢复点iface-define 定义不活跃的持久性物理主机接口,或者从 XML 文件中修改现有的持久性物理主机接口iface-destroy 删除物理主机接口(启用它请执行 "if-down")iface-dumpxml XML 中的接口信息iface-edit 为物理主机界面编辑 XML 配置iface-list 物理主机接口列表iface-mac 将接口名称转换为接口 MAC 地址iface-name 将接口 MAC 地址转换为接口名称iface-rollback 恢复到之前保存的使用 iface-begin 生成的更改iface-start 启动物理主机接口(启用它请执行 "if-up")iface-unbridge 在分离其设备后取消网桥设备的定义iface-undefine 取消定义物理主机接口(从配置中删除)Network Filter (指定关键字'filter'时可以显示此部分帮助信息)nwfilter-define 使用 XML 文件定义或者更新网络过滤器nwfilter-dumpxml XML 中的网络过滤器信息nwfilter-edit 为网络过滤器编辑 XML 配置nwfilter-list 列出网络过滤器nwfilter-undefine 取消定义网络过滤器nwfilter-binding-create 从 XML 文件创建网络过滤器绑定nwfilter-binding-delete 删除网络过滤器绑定nwfilter-binding-dumpxml XML 中的网络过滤器信息nwfilter-binding-list 列出网络过滤器绑定Networking (指定关键字'network'时可以显示此部分帮助信息)net-autostart 自动开始网络net-create 从一个 XML 文件创建一个网络net-define 定义不活跃的持久性虚拟网络,或者从 XML 文件中修改现有的持久性虚拟网络net-destroy 销毁(停止)网络net-dhcp-leases 打印给定网络的租期信息net-dumpxml XML 中的网络信息net-edit 为网络编辑 XML 配置net-event 网络事件net-info 网络信息net-list 列出网络net-name 把一个网络UUID 转换为网络名net-start 启动一个(以前定义的)不活跃的网络net-undefine 取消持久性网络的定义net-update 更新现有网络配置的部分net-uuid 把一个网络名转换为网络UUIDnet-port-list 列出网络端口net-port-create 从 XML 文件创建网络端口net-port-dumpxml XML 中的网络端口信息net-port-delete 删除指定的网络端口Node Device (指定关键字'nodedev'时可以显示此部分帮助信息)nodedev-create 根据节点中的 XML 文件定义生成设备nodedev-destroy 销毁(停止)节点中的设备nodedev-detach 将节点设备与其设备驱动程序分离nodedev-dumpxml XML 中的节点设备详情nodedev-list 这台主机中的枚举设备nodedev-reattach 重新将节点设备附加到他的设备驱动程序中nodedev-reset 重置节点设备nodedev-event 节点设备事件nodedev-define 通过节点上的 xml 文件定义设备nodedev-undefine 对一个停用的节点设备取消定义nodedev-start 启动一个停用的节点设备nodedev-autostart 自动启动一个定义的节点设备nodedev-info 节点设备信息Secret (指定关键字'secret'时可以显示此部分帮助信息)secret-define 定义或者修改 XML 中的 secretsecret-dumpxml XML 中的 secret 属性secret-event Secret 事件secret-get-value secret 值输出secret-list 列出 secretsecret-set-value 设定 secret 值secret-undefine 取消定义 secretSnapshot (指定关键字'snapshot'时可以显示此部分帮助信息)snapshot-create 使用 XML 生成快照snapshot-create-as 使用一组参数生成快照snapshot-current 获取或者设定当前快照snapshot-delete 删除域快照snapshot-dumpxml 为域快照转储 XMLsnapshot-edit 编辑快照 XMLsnapshot-info 快照信息snapshot-list 为域列出快照snapshot-parent 获取快照的上级快照名称snapshot-revert 将域转换为快照Backup (指定关键字'backup'时可以显示此部分帮助信息)backup-begin 启动实时域的磁盘备份backup-dumpxml 正在进行的域块备份作业的转储 XMLStorage Pool (指定关键字'pool'时可以显示此部分帮助信息)find-storage-pool-sources-as 找到潜在存储池源find-storage-pool-sources 发现潜在存储池源pool-autostart 自动启动某个池pool-build 建立池pool-create-as 从一组变量中创建一个池pool-create 从一个 XML 文件中创建一个池pool-define-as 在一组变量中定义池pool-define 定义不活跃的持久性存储池,或者从 XML 文件中修改现有的持久性存储池pool-delete 删除池pool-destroy 销毁(删除)池pool-dumpxml XML 中的池信息pool-edit 为存储池编辑 XML 配置pool-info 存储池信息pool-list 列出池pool-name 将池 UUID 转换为池名称pool-refresh 刷新池pool-start 启动一个(以前定义的)非活跃的池pool-undefine 取消定义一个不活跃的池pool-uuid 把一个池名称转换为池 UUIDpool-event 存储池事件pool-capabilities 存储池功能Storage Volume (指定关键字'volume'时可以显示此部分帮助信息)vol-clone 克隆卷。vol-create-as 从一组变量中创建卷vol-create 从一个 XML 文件创建一个卷vol-create-from 生成卷,使用另一个卷作为输入。vol-delete 删除卷vol-download 将卷内容下载到文件中vol-dumpxml XML 中的卷信息vol-info 存储卷信息vol-key 为给定密钥或者路径返回卷密钥vol-list 列出卷vol-name 为给定密钥或者路径返回卷名vol-path 为给定密钥或者路径返回卷路径vol-pool 为给定密钥或者路径返回存储池vol-resize 创新定义卷大小vol-upload 将文件内容上传到卷vol-wipe 擦除卷Virsh itself (指定关键字'virsh'时可以显示此部分帮助信息)cd 更改当前目录echo echo 参数。用于内部测试。exit 退出当前的交互式终端help 显示帮助信息pwd 显示当前目录quit 退出当前的交互式终端connect (重新)连接到 hypervisor(执行help <group>来获取指定组中全部命令的帮助信息)(执行help <command> 来获取指定命令的帮助信息)
伊织 2023-08-15(二)
相关文章:
macOS - 安装使用 libvirt、virsh
文章目录 关于 libvirt使用安装启动服务virsh 交互模式virsh 帮助命令 关于 libvirt libvirt 官网: https://libvirt.org/gitlab : https://gitlab.com/libvirt/libvirtgithub : https://github.com/libvirt/libvirt 只读,gitlab 的镜像 libvirt是一套…...
Windows Server 2019设置使用照片查看器查看图片的设置方法
1、使用winR快捷键快速打开运行,输入regedit打开注册表: 2、在注册表中找到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations 3、在右侧新建字符串项: 4、例如新建两项.jpg 和.png值…...
【需求输出】流程图输出
文章目录 1、什么是流程图2、绘制流程图的工具和基本要素3、流程图的分类和应用场景4、如何根据具体场景输出流程图 1、什么是流程图 2、绘制流程图的工具和基本要素 3、流程图的分类和应用场景 4、如何根据具体场景输出流程图...
opencv+ffmpeg+QOpenGLWidget开发的音视频播放器demo
前言 本篇文档的demo包含了 1.使用OpenCV对图像进行处理,对图像进行置灰,旋转,抠图,高斯模糊,中值滤波,部分区域清除置黑,背景移除,边缘检测等操作;2.单纯使用opencv播放…...
stable-diffusion-webui 的模型更新
shared.py和sd_models.py中 shared.py: options_templates.update(options_section((sd, "Stable Diffusion"), {"sd_model_checkpoint": OptionInfo(None, "Stable Diffusion checkpoint", gr.Dropdown, lambda: {"choices": list_…...
Gin模板语法
Gin模板语法 文章目录 <center> Gin模板语法前提提醒Gin框架启动服务器模板解析模板渲染遇到不同目录下相同的文件如何加载和渲染自定义函数加载静态文件 前提提醒 由于有了前面template包的基础,所以该笔记不再过多详细分析 Gin框架启动服务器 语法: r:gin.Default()/…...
Go http.Handle和http.HandleFunc的路由问题
Golang的net/http包提供了原生的http服务,其中http.Handle和http.HandleFunc是两个重要的路由函数。 1. 函数介绍 http.HandleFunc和http.Handle的函数原型如下,其中DefaultServeMux是http包提供的一个默认的路由选择器。 func HandleFunc(pattern st…...
如何使用Kali Linux进行渗透测试?
1. 渗透测试简介 渗透测试是通过模拟恶意攻击,评估系统、应用或网络的安全性的过程。Kali Linux为渗透测试人员提供了丰富的工具和资源,用于发现漏洞、弱点和安全风险。 2. 使用Kali Linux进行渗透测试的步骤 以下是使用Kali Linux进行渗透测试的基本…...
简单易用且高效的跨平台开发工具:Xojo 2023 for Mac
Xojo for Mac是Mac平台上一个跨平台的针对桌面、Web、移动和Raspberry Pi的快速应用程序开发软件。与其他多平台开发工具相比,Xojo for Mac为开发人员提供了显着的生产率提高。 Xojo for Mac具有拖放功能,使您能够快速创建用户界面设计,然后…...
HIVE SQL实现分组字符串拼接concat
在Mysql中可以通过group_concat()函数实现分组字符串拼接,在HIVE SQL中可以使用concat_ws()collect_set()/collect_list()函数实现相同的效果。 实例: abc2014B92015A82014A102015B72014B6 1.concat_wscollect_list 非去重拼接 select a ,concat_ws(-…...
【问心篇】渴望、热情和选择
加班太严重完全没有时间学习,怎么办? 我真的不算聪明的人,但是,我对学习真的是有渴望的。说得好听一点,我希望自己在不停地成长,不辜负生活在这个信息化大变革的时代。说得不好的一点,就是我从…...
【贪心】CF1841 D
Codeforces 题意: 思路: 首先模拟一下样例 并没有发现什么 那么就去考虑特殊情况,看看有没有什么启发 考虑一个大区间包含所有小区间的情形,这种情况就是在这么多区间中找出两个区间 换句话说,这么多区间组成一个…...
移动端预览指定链接的pdf文件流
场景 直接展示外部系统返回的获取文件流时出现了跨域问题: 解决办法 1. 外部系统返回的请求头中调整(但是其他系统不会给你改的) 2. 我们系统后台获取文件流并转为新的文件流提供给前端 /** 获取传入url文件流 */ GetMapping("/get…...
【Go 基础篇】Go语言字符类型:解析字符的本质与应用
介绍 字符类型是计算机编程中用于表示文本和字符的数据类型,是构建字符串的基本单位。在Go语言(Golang)中,字符类型具有独特的特点和表示方式,包括Unicode编码、字符字面值以及字符操作。本篇博客将深入探讨Go语言中的…...
Java基础(十二)面向对象编程 OOP
一、抽象数据类型 1.面向对象基本概念 1. 面向对象 面向对象程序设计(OOP)是一种基于对象概念的软件开发方法,是目前软件开发的主流方式。 常见面向对象的语言:C 、Python 、Java 常见面向过程的语言:C 面向对象的三…...
在阿里云服务器上安装Microsoft SharePoint 2016流程
本教程阿里云百科分享如何在阿里云ECS上搭建Microsoft SharePoint 2016。Microsoft SharePoint是Microsoft SharePoint Portal Server的简称。SharePoint Portal Server是一个门户站点,使得企业能够开发出智能的门户站点。 目录 背景信息 步骤一:添加…...
Ubuntu设置定时重启
1.安装/更新 cron 安装crontab sudo apt-get install cron更新命令 sudo apt-get update2.配置cron定时任务 sudo nano /etc/crontab* * * * * root reboot(从左到右,五个 * 依次是 分,时 ,天,月,星期)下列命令表示…...
sqlloader学习笔记
INFILE的用法 1)模糊导入多个数据的文件。 可以在文件名中使用通配符。 星号 (*) 表示复数字符,问号 (?) 表示单个字符。 INFILE emp*.dat INFILE m?emp.dat 2)如果不需要导入数据…...
内网ip与外网ip
一、关于IP地址 我们平时直接接触最多的是内网IP。而且还可以自己手动修改ip地址。而外网ip,我们很少直接接触,都是间接接触、因为外网ip一般都是运营商管理,而且是全球唯一的,一般我们自己是无法修改的。 内网IP和外网IP是指在…...
分布式 - 消息队列Kafka:Kafka消费者和消费者组
文章目录 1. Kafka 消费者是什么?2. Kafka 消费者组的概念?3. Kafka 消费者和消费者组有什么关系?4. Kafka 多个消费者如何同时消费一个分区? 1. Kafka 消费者是什么? 消费者负责订阅Kafka中的主题,并且从…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
