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

Win10下安装Linux-Ubuntu24.04双系统

0 引言

Ubuntu 24.04 LTS(代号“Noble Numbat”)是 Canonical 于 2024 年 4 月 25 日发布的第 10 个长期支持版本,专注于性能优化、企业安全和开发者体验提升

Windows 10 是微软于 2015 年 7 月发布的跨平台操作系统,融合了传统桌面与移动端设计理念,支持 PC、平板、Xbox 及物联网设备,目前仍是全球用户量最大的桌面操作系统

本文将从Ubuntu 24.04系统下载、安装U盘制作、bios修改、Ubuntu24.04安装等方面详细介绍Win10下安装Linux-Ubuntu24.04双系统的方法。有安装Win10与Linux-Ubuntu24.04需求的读者请读下去

1 下载Ubuntu 24.04系统

优先推荐在Ubuntu官网下载Ubuntu24.04.2桌面版iso镜像文件。如果遇到下载问题,也可在我提供的百度网盘链接下载

提示:谨防赛博花柳,所有软件优先找准官网下载,不要轻易相信网络上的不知名链接和网站

2 制作系统U盘

(1)在sourceforge官网下载并安装系统U盘制作工具Win32 Disk Imager

(2)准备一个不小于8G的U盘

特别注意,制作U盘制作为系统启动U盘后会清空原有文件,一定一定要做好数据备份

另外,请记住U盘品牌和容量,以便在bios修改启动设置时准确识别出系统U盘

(3)使用Win32 Disk Imager制作系统U盘

注意,Win32 Disk Imager导入镜像文件时默认为img格式,需要调整为所有格式才能找到iso文件

(4)等待系统U盘制作完成

注意,如果Win10警告制作好的系统U盘为不可读取状态且请求格式化,不要理会,更不要格式化(其实系统U盘有写入保护,也根本无法直接执行格式化操作)

3 预留磁盘空间

最推荐的方式是在一块空物理盘完成Ubuntu系统安装

如果不具备条件,建议在非Win10系统盘的其他物理盘安装Ubuntu

如果仍不具备条件,强烈建议将硬盘划分两个逻辑分区,不要碰Win10系统所在分区

以上建议可避免Ubuntu安装失败搞砸Win10系统,请认真对待

可考虑的建议是在安装Ubuntu前通过第三方磁盘管理软件备份Win10系统,也就是C盘。

下面正式开始:

(1)按Win+r打开运行窗口,输入diskmgmt.msc并按回车打开磁盘管理工具

(2)找到非Win10系统所在的逻辑盘/物理盘,选择压缩卷,压缩大小至少20G(这个是为Ubuntu系统预留的存储空间)

注意,20G只能保证Ubuntu系统可正常安装运行,建议依据自己使用需求预留更大空间

做到上图这种程度就可以了。这是Ubuntu系统的预留空间,所以不要尝试给该空间创建分区

(3)查看磁盘分区形式

点击未分配空间,右键查看属性——卷,查看磁盘分区形式

不同磁盘可能查询出两种结果,一种是GPT分区,一种是MBR分区。我的是GPT分区,请记住自己的分区形式,这在修改bios以及Ubuntu系统分区时会用到

3 修改bios

注意,这一步对系统属于敏感操作,一定要小心,别玩砸了进不了系统

(1)保证系统U盘为插入状态,然后重启电脑进入bios

不同品牌主板进入bios的按键不一样,请根据自己的主板品牌查询确认

懒得查询的话,电脑重启显示主板的logo时会显示进入bios的方法,要是眼神比较好、手速比较快,也能进入bios

(2)修改主板bios设置(本部分内容对大多数主板都适用,只是选项位置有所差异)

1)进入bios后,找到启动(boot)选项。若主板设置界面找不到就在高级设置里面找

在启动栏的安全启动菜单下将操作系统类型修改为其他操作系统。如果在启动界面无相关设置,那么本步骤就不需要

2)在启动栏的启动设置菜单下更改启动选项

GPT分区和MBR分区的磁盘这里设置不一样,别整错了

如果磁盘分区形式为GPT分区,需要将启动项1选择为UEFI启动,其他启动选项不用再设置

如果磁盘分区形式为MBR分区,需要将启动项1选择为Legacy启动,其他选项不用再设置

注意,设置好后检查一下,主板是不是自动将启动项2设置为了windows启动

(3)关闭快速启动

在启动栏的——快速启动设置菜单下禁止快速启动。如果在启动界面无相关设置,那么本步骤就不需要

(4)保存并退出bios

点退出——保存变更并更新设置(或保存变更并退出或其他类似字样)即可退出bios

Ubuntu2024.04安装

退出bios后可进入以下界面:

选择第一个或第二个都可以,建议选第二个安全图形界面安装,速度会快一点

等待后进入以下安装界面。安装设置步骤太多,一些简单的就不发图了

(1)语言按需选择,一般拉到最后选择中文简体

下拉按钮别滑得太快,可能会卡

(2)Ubuntu中的可访问性不用设置,直接下一步

(3)键盘布局不用设置,直接下一步

(4)连接到互联网,选择不连接,下一步

(5)安装程序更新,直接点跳过

(6)您想对Ubuntu做什么,选择安装Ubuntu,下一步

(7)您想如何安装Ubuntu,选择交互安装,下一步

(8)您想安装哪些应用,选择扩展集合,下一步

(9)安装推荐的专有软件吗,两个都不要选,直接下一步

(10)您想如何安装Ubuntu

这一步非常重要,一定一定要选手动分区后点击下一步。实体机安装截不了图,为了体现安装步骤,我在虚拟机复现了一下骤。请完全按照我的设置来弄

1)找到之前在Win10上为Ubuntu分配的剩余空间

Win10是1 G = 1024 M,Linux是1G = 1000 M,如果之前在Win10上是预留的20G,那么在Ubuntu就是21.5G左右

一般电脑上都有多个磁盘,依据之前设置的预留空间大小、安装界面预留空间提示字样以及所在的物理盘大小可以准确找到预留空间

注意,不要找错了预留空间,那些不到1G的文件不要去碰

如果无法确定哪个是预留空间,可以停止安装步骤回到Win10系统:点击左上角的电源——重启——选择windows启动项,重新回到Win10系统查看磁盘状态,记清楚了重新开始安装

2) 确定自己为Ubuntu预留的空间后,请按照下面步骤设置

(a) /boot分区

/boot分区设置这里,GPT分区和MBR分区设置不一样,别搞错了

GPT分区:

点击选择预留空间,再点击左下角的加号,大小设置500M,“用于”选择Btrfs,挂载点选择/boot

MBR分区

点击选择预留空间,再点击左下角的加号,大小设置500M,“用于”选择Ext4,挂载点选择/boot

该步骤分配的空间用于系统引导

注意,如果分区设置错误,应鼠标点击分区,再点左下角的更改按钮,不要点撤销按钮,否则会取消之前的所有分区操作

(b) swap分区

点击选择预留空间,再点击左下角的加号,按需设置大小,“用于”选择swap,挂载点不用选

swap空间‌就是虚拟内存,用于在物理内存不足时提供额外的内存空间,一般比内存大一点。比如4G内存就设置5G swap空间

(c) 根挂载点

点击选择预留空间,再点击左下角的加号,大小设置为10G,“用于”选择Ext4,挂载点选择/

根挂载点可以理解为Win10的系统盘。10G仅为可用,建议有条件的设置为20G

(d) /home分区

点击选择预留空间,再点击左下角的加号,大小设置不用管(意味着将分配后剩下的所有空间都给/home分区),“用于”选择Ext4,挂载点选择/home

/home分区可以理解为Win10的非系统盘

GPT磁盘分区设置好后应如下图所示:

注意,GPT分区的用户在实体机创建的分区应该比我多一个Win10引导分区。该分区在创建/boot分区时会自动生成。由于我这里是在虚拟机演示,故没有这一个

3) 安装引导设置选择

选择Ubuntu分区所在物理磁盘

4)确认无误后点击下一步

(11)设置您的账户

按需设置姓名,主机名以及用户名,尽可能简短,太长了控制台看着不舒服

根据用途设置密码复杂度。这个密码在执行sudo等命令时会用到,如果可以,尽可能简短

设置好后点击下一步

(12)地区默认选择上海,不用改,直接下一步

若需要修改地区,点击地图的国家位置即可

(13)最后再检查一遍设置,尤其是分区设置,无误后点击安装

(14)安装完成出现以下界面后,点击立即重启

(15)重启界面会有请移除U盘后按enter键,照做即可

(16)启动界面操作系统选择

出现启动界面后会有30s选择时间。第一个选项是Ubuntu,选择超时会默认进入该系统;还有一个带Windows字样的系统,这个是Win10。这两个系统在启动时可以自由选择

(17)先进入Ubuntu

点前进——跳过——不分享系统数据后点前进——结束

(18)双系统检查

重启Ubuntu系统,在启动界面选择Win10启动,检查能否回到Win10系统

其他说明

启动U盘恢复

普通U盘制作为了系统U盘后只能用于安装系统,建议保留

若想作他用,可用DiskGenius软件先删除U盘分区,再随便新建一个分区,最后执行格式化。完成上述步骤,即可将系统U盘恢复为普通U盘

Win系统时间系统不正常

从Ubuntu回到Win10会导致Win10时间显示不正常。这是由于Ubuntu基于格林威治时间校准,而Win10基于当地时间校准。中国位于东八区,两个时间会差八个小时

不介意的用户可以不管,介意的话打开Win10后,在时间设置里面关闭自动校准后再打开即可恢复Win10正常时间

Ubuntu如何使用

后面会出Ubuntu系统配置常用软件的基础教程

结语

ok,wherever your digital journey takes you - through Ubuntu's open fields or Windows' familiar paths - may happiness light your way!

相关文章:

Win10下安装Linux-Ubuntu24.04双系统

0 引言 Ubuntu 24.04 LTS(代号“Noble Numbat”)是 Canonical 于 2024 年 4 月 25 日发布的第 10 个长期支持版本,专注于性能优化、企业安全和开发者体验提升 Windows 10 是微软于 2015 年 7 月发布的跨平台操作系统,融合了传统桌…...

express 怎么搭建 WebSocket 服务器

一:使用 express-ws var express require(express); var app express(); var expressWs require(express-ws)(app);app.use(function (req, res, next) {console.log(middleware);req.testing testing;return next(); });app.get(/, function(req, res, next){…...

模型部署——cuda编程入门

CUDA中的线程与线程束 kernel是在device上线程中并行执行的函数&#xff0c;核函数用__global__符号声明&#xff0c;在调用时需要用<<<grid_size, block_size>>>来指定kernel要执行的线程数量。在CUDA中&#xff0c;每一个线程都要执行核函数&#xff0c;并…...

llfc项目TCP服务器笔记

ChatServer 一个TCP服务器必然会有连接的接收,维持,收发数据等逻辑。那我们就要基于asio完成这个服务的搭建。主服务是这个样子的 #include "LogicSystem.h"#include <csignal>#include <thread>#include <mutex>#include "AsioIOServiceP…...

NPP库中libnppi模块介绍

1. libnppi 模块简介 libnppi 是 NPP 库中专门用于 图像处理 的模块&#xff0c;提供高度优化的 GPU 加速函数&#xff0c;支持&#xff1a; 图像滤波&#xff08;卷积、形态学操作&#xff09; 几何变换&#xff08;旋转、缩放、透视变换&#xff09; 颜色空间转换&#xf…...

从头训练小模型: 3 传统RLHF与DPO的区别

这个步骤我其实是忽略了。如果我的目标是建立一个安全领域的模型&#xff0c;我个人理解这步骤并不太必要。关于人类偏好对齐&#xff1a;在前面的训练步骤中&#xff0c;模型已经具备了基本的对话能力。 此时模型还不知道什么是好的回答&#xff0c;什么是不好的回答。我们希…...

Python-Django系列—视图

一、通用显示视图 以下两个基于类的通用视图旨在显示数据。在许多项目中&#xff0c;它们通常是最常用的视图。 1、DetailView class django.views.generic.detail.DetailView 当该视图执行时&#xff0c;self.object 将包含该视图正在操作的对象。 祖先&#xff08;MRO&a…...

el-input Vue 3 focus聚焦

https://andi.cn/page/622173.html...

动态规划(5)路径问题--剑指offer -珠宝的最大值

题目&#xff1a; 现有一个记作二维矩阵 frame 的珠宝架&#xff0c;其中 frame[i][j] 为该位置珠宝的价值。拿取珠宝的规则为&#xff1a; 只能从架子的左上角开始拿珠宝每次可以移动到右侧或下侧的相邻位置到达珠宝架子的右下角时&#xff0c;停止拿取 注意&#xff1…...

ZArchiver正版:高效文件管理,完美解压体验

在使用安卓设备的过程中&#xff0c;文件管理和压缩文件的处理是许多用户常见的需求。无论是解压下载的文件、管理手机存储中的文件&#xff0c;还是进行日常的文件操作&#xff0c;一款功能强大且操作简便的文件管理工具都能极大地提升用户体验。今天&#xff0c;我们要介绍的…...

Netlink在SONiC中的应用

Netlink在SONiC中的应用 Netlink介绍 Netlink 是 Linux 内核态程序与用户空间程序之间进行通信的机制之一&#xff0c;原本是用于传递网络协议栈中的各种控制消息。它采用和套接字&#xff08;socket&#xff09;编程接口相同的形式&#xff0c;常用于配置内核网络子系统&…...

ReentrantLock实现公平锁和非公平锁

在 Java 里&#xff0c;公平锁和非公平锁是多线程编程中用于同步的两种锁机制&#xff0c;它们的主要差异在于获取锁的顺序规则。下面是对二者的详细介绍&#xff1a; 公平锁 公平锁遵循 “先来先服务” 原则&#xff0c;也就是线程获取锁的顺序和请求锁的顺序一致。先请求锁…...

【C++】 —— 笔试刷题day_25

一、笨小猴 题目解析 这道题&#xff0c;给定一个字符str&#xff0c;让我们找到这个字符串中出现次数最多字母的出现次数maxn和出现次数最少字母的出现次数minn&#xff1b; 然后判断maxn - minn是否是一个质数&#xff0c;如果是就输出Lucky Word和maxn - minn&#xff1b;如…...

terraform resource创建了5台阿里云ecs,如要使用terraform删除其中一台主机,如何删除?

在 Terraform 中删除阿里云 5 台 ECS 实例中的某一台&#xff0c;具体操作取决于你创建资源时使用的 多实例管理方式&#xff08;count 或 for_each&#xff09;。以下是详细解决方案&#xff1a; 方法一&#xff1a;使用 for_each&#xff08;推荐&#xff09; 如果创建时使…...

Office 三大组件Excel、Word、Access 里 VBA 区别对比

以下是Excel、Word和Access在VBA中的主要区别对比及详细说明: 核心对象模型 Excel Workbook(工作簿)→ Worksheet(工作表)→ Range(单元格区域) 核心围绕单元格数据处理,如 Cells(1,1).Value = "数据" Word Document(文档)→ Range(文本范围)→ Paragrap…...

Linux 进程基础(二):操作系统

目录 一、什么是操作系统&#xff1a;用户和电脑之间的「翻译官」&#x1f310; OS 的层状结构&#x1f9e9; 案例解析&#xff1a;双击鼠标的「跨层之旅」 二、操作系统的必要性探究&#xff1a;缺乏操作系统的环境面临的挑战剖析&#x1f511; OS 的「管理者」属性&#xff1…...

Java高并发处理核心技术详解:从理论到实战

高并发处理能力是衡量系统性能的重要指标。Java作为企业级开发的主力语言&#xff0c;提供了丰富的并发编程工具和框架。 一、Java并发基础 1.1 Java内存模型&#xff08;JMM&#xff09; 主内存与工作内存&#xff1a;每个线程拥有独立的工作内存&#xff0c;通过JMM协议与主…...

单细胞测序数据分析试验设计赏析(二)

单细胞测序数据分析试验设计赏析&#xff08;二&#xff09; 这次的单细胞测序数据分析的试验设计是单细胞测序分析机器学习&#xff08;with SHAP分析&#xff09;&#xff0c;也是常见的试验设计之一&#xff0c;重点是可以用于筛选鉴定基因调控网络&#xff0c;也可以是构建…...

Docker 服务搭建

&#x1f4a2;欢迎来到张翊尘的开源技术站 &#x1f4a5;开源如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 Docker 服务搭建在 Ubuntu 上安装 Docker更新软件…...

4电池_基于开关电容的均衡

基于开关电容的均衡系统&#xff08;Switched-Capacitor Equalization System&#xff09; 开关电容均衡&#xff08;Switched-Capacitor Equalization, SCE&#xff09;是一种广泛应用于 电池组&#xff08;如锂电池、超级电容组&#xff09; 的主动均衡技术&#xff0c;通过电…...

Matlab/Simulink - BLDC直流无刷电机仿真基础教程(七) - 波形解析专题P2

Matlab/Simulink - BLDC直流无刷电机仿真基础教程&#xff08;七&#xff09; - 波形解析专题P2 前言一、缺相与相线错接解析二、电源电压波动三、电机感量及磁链变化四、负载突变及堵转五、换相时机不当及换相错误参考链接 前言 本系列文章分享如何使用Matlab的Simulink功能来…...

如何从GitHub上调研优秀的开源项目,并魔改应用于工作中?

在 Go 语言学习中&#xff0c;我们经常会去学习一些优秀的开源项目。但是学完之后&#xff0c;发现很快就忘记了或者学习效果并不好。学习一个开源项目最好的方式就是围绕这个开源项目进行实战。例如&#xff0c;直接魔改这个开源项目并应用于工作中。本文来介绍下如何调用&…...

【Java学习笔记】构造器

构造器(constructor)&#xff08;又名构造方法&#xff09; 作用&#xff1a;可以在创建对象时就初始化属性&#xff0c;注意不是创建 基本结构 [修饰符] 方法名&#xff08;形参列表&#xff09;{方法体&#xff1b; }代码示例 public class 构造器 {public static void m…...

Redis 数据类型详解(一):String 类型全解析

文章目录 前言一、什么是 Redis 的 String 类型&#xff1f;二、常用命令1.SET2.GET3.MSET4.MGET5.INCR6.INCRBY7.INCRBYFLOAT8.SETNX9.SETEX 三、注意事项总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 在学习 Redis 的过程中&#xff0c;最基础也…...

JAVA---多态

面向对象三大特征&#xff1a;封装、继承、多态 多态 定义&#xff1a;同类型的对象&#xff0c;表现出的不同形态。 它允许不同类的对象通过同一个接口进行调用&#xff0c;并且在运行时根据实际对象类型执行不同的方法。 多态主要通过继承、接口和方法重写来实现。 表现形式…...

K8S的使用(部署pod\service)+安装kubesphere图形化界面使用和操作

master节点中通过命令部署一个tomcat 查看tomcat被部署到哪个节点上 在节点3中进行查看 在节点3中进行停止容器&#xff0c;K8S会重新拉起一个服务 如果直接停用节点3&#xff08;模拟服务器宕机&#xff09;&#xff0c;则K8S会重新在节点2中拉起一个服务 暴露tomcat访…...

【Linux系统】第二节—基础指令(2)

hello ~ 好久不见 自己想要的快乐要自己好好争取&#xff01; 云边有个稻草人-个人主页 Linux—本篇文章所属专栏—欢迎订阅—持续更新中 目录 本节课核心指令知识点总结 本节基本指令详解 07.man 指令 08.cp 指令 09.mv 指令 10.cat 指令 11.more 指令 12.less 指令 …...

Java设计模式: 实战案例解析

Java设计模式: 实战案例解析 在软件开发中&#xff0c;设计模式是一种用来解决特定问题的可复用解决方案。它们是经过实践验证的最佳实践&#xff0c;能够帮助开发人员设计出高质量、易于维护的代码。本文将介绍一些常见的Java设计模式&#xff0c;并通过实战案例解析它们在实际…...

ASP.NET MVC​ 入门与提高指南九

51. 时空数据处理与 MVC 应用拓展 51.1 时空数据概念 时空数据是指与时间和空间相关的数据&#xff0c;如地理信息系统&#xff08;GIS&#xff09;数据、交通流量数据、气象数据等&#xff0c;这些数据随时间和空间变化而变化。 51.2 在 MVC 应用中处理时空数据 地理信息系…...

算法学习时段效能分布

算法学习时段效能分布 晨间时段&#xff08;06:00-09:00&#xff09;核心优势最佳任务 午后时段&#xff08;14:00-17:00&#xff09;核心优势最佳任务 夜间时段&#xff08;20:00-23:00&#xff09;核心优势最佳任务 实证数据支持 晨间时段&#xff08;06:00-09:00&#xff09…...

Linux环境部署iview-admin项目

环境&#xff1a;阿里云服务 系统&#xff1a;CentOS7.X系统 1、下载源码安装包 wget https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz2、解压并放入指定目录 tar -xf node-v14.17.3-linux-x64.tar.xz && mv node-v14.17.3-linux-x64 /usr/local/no…...

在 Ubuntu 系统中,查看已安装程序的方法

在 Ubuntu 系统中&#xff0c;查看已安装程序的方法取决于软件的安装方式&#xff08;如通过 apt、snap、flatpak 或手动安装&#xff09;。以下是几种常见方法&#xff1a; 通过 apt 包管理器安装的软件 适用于通过 apt 或 dpkg 安装的 .deb 包。 列出所有已安装的软件包&…...

c++26新功能——Pack indexing

一、模板编程 在模板编程中&#xff0c;有一个问题比较突出&#xff0c;就是对变参模板中参数的控制&#xff0c;比较麻烦。因为是变参&#xff0c;所以想把参数单独拿出来处理&#xff0c;就需要借助一些特殊的技巧&#xff0c;而这种特殊的技巧&#xff0c;往往为大多数开发…...

VSCode通过SSH连接VMware虚拟机

以下是关于VSCode通过SSH连接VMware虚拟机的原理、必要条件及注意事项的说明&#xff1a; ​​一、连接原理​ SSH协议通信​​&#xff1a;SSH&#xff08;Secure Shell&#xff09;是一种加密网络协议&#xff0c;VSCode通过Remote-SSH插件将本地开发环境与虚拟机终端绑定&a…...

7 微调 黑盒蒸馏 突破伦理限制

简介 SecGPT-Distill 是我自己做的一个实验模型, 开源地址: 主要功能是进行模型微调和知识蒸馏而来 这次是运用微调技术&#xff0c;来突破现有模型在处理安全相关问题时的各种限制和约束 代码开源: https://github.com/godzeo/SecGPT-distill-boundless 不回答原理 大部…...

基于51单片机的温湿度控制器proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1cENHPmF0XobqKg_7baZX3Q 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C51 是一款常用的 8 位单片机&#xff0c;由 Atmel 公司&#xff08;现已被 Microchip 收…...

牛客月赛115 C题-命运之弹 题解

原题链接 https://ac.nowcoder.com/acm/contest/107879/C 题目描述 解题思路 记录每个数字出现的次数。枚举使用「转瞬即逝」的位置&#xff0c;统计后边比当前数字更大的数的数量&#xff0c;进而统计、更新答案。 详细细节见代码&#xff0c;代码里有详细的注释解释。 代…...

视频转GIF

视频转GIF 以下是一个使用 Python 将视频转换为 GIF 的脚本&#xff0c;使用了 imageio 和 opencv-python 库&#xff1a; import cv2 import imageio import numpy as np """将视频转换为GIF图参数:video_path -- 输入视频的路径gif_path -- 输出GIF的路径fp…...

day15 python 复习日

作业&#xff1a; 尝试找到一个kaggle或者其他地方的结构化数据集&#xff0c;用之前的内容完成一个全新的项 目&#xff0c;这样你也是独立完成了一个专属于自己的项目。 要求&#xff1a; 1.有数据地址的提供数据地址&#xff0c;没有地址的上传网盘贴出地址即可。 2.尽可能与…...

性能优化实践:渲染性能优化

性能优化实践&#xff1a;渲染性能优化 在Flutter应用开发中&#xff0c;渲染性能直接影响用户体验。本文将从渲染流程分析入手&#xff0c;深入探讨Flutter渲染性能优化的关键技术和最佳实践。 一、Flutter渲染流程解析 1.1 渲染流水线 Flutter的渲染流水线主要包含以下几…...

【SimSession 】3:中继服务 linux和windows实现及MFC集成实现

实现目标 在 echo 测试程序启动时启动中继服务,并在 echo 程序退出时杀死中继进程。我们可以通过以下方式实现这一目标: linux设计 1 Process Management: 流程管理: Added fork() functionality to create a child process for the relay service添加了 fork()功能,…...

表驱动 FSM 在 STM32 上的高效实现与内存压缩优化——源码、性能与实践

目录 一、引言与背景 二、前提环境与依赖 三、表驱动 FSM 核心原理 四、内存压缩方案详解 4.1 稠密二维表(Dense Table) 4.2 稀疏表压缩(Sparse Table) 4.3 行压缩+Offset 4.4 位域打包(Bit‑Packing)...

windows鼠标按键自定义任意设置

因为用惯了Linux的鼠标中键的复制黏贴&#xff0c;发现windows下有完全可以实现类似自定义功能的软件&#xff0c;推荐一下&#xff1a; X Mouse Button Control。 免费版足够好用。 软件简介&#xff1a; X Mouse Button Control是一款专业的重新映射鼠标按钮的软件工具&…...

常用命令集合

安装Miniconda wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py310_22.11.1-1-Linux-x86_64.shpython 换清华源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple鱼香ros wget http://fishros.com/install -O fishr…...

【图书管理系统】环境介绍、设计数据库和表、配置文件、引入依赖

0. 环境介绍 &#xff08;1&#xff09;JDK版本&#xff1a;JDK_8&#xff08;JDK_1.8&#xff09; &#xff08;2&#xff09;Java语言版本&#xff1a;8 &#xff08;3&#xff09;SpringBoot版本&#xff1a;2.6.13 &#xff08;4&#xff09;Maven仓库&#xff1a;阿里云 …...

【Linux】日志与策略模式、线程池

在了解了线程的基本概念和线程互斥与同步之后&#xff0c;我们可以以此设计一个简单的线程池。【Linux】线程-CSDN博客 【Linux】线程同步与互斥-CSDN博客 线程池也是一种池化技术。提前申请一些线程&#xff0c;等待有任务时就直接让线程去执行&#xff0c;不用再收到任务之…...

【神经网络与深度学习】生成模型-单位高斯分布 Generating Models-unit Gaussian distribution

引言 在生成模型的研究与应用中&#xff0c;单位高斯分布&#xff08;标准正态分布&#xff09;作为数据采样的基础扮演着至关重要的角色。其数学特性、潜在空间的连续性、灵活性以及通用性&#xff0c;使得生成模型能够高效且稳定地学习和生成样本。本文将详细探讨从单位高斯…...

通讯协议开发实战:从零到一打造企业级通信解决方案

简介 从工业控制到物联网,掌握主流通信协议开发是构建现代智能系统的核心能力。本文将通过深入分析CAN FD和MQTT两种关键协议的原理、特性及应用场景,结合TypeScript和Node.js技术栈,设计一个完整的实时运动控制系统开发案例。从协议解析到数据转换,再到系统集成,全程提供…...

《MATLAB实战训练营:从入门到工业级应用》工程实用篇-自动驾驶初体验:车道线检测算法实战(MATLAB2016b版)

《MATLAB实战训练营&#xff1a;从入门到工业级应用》工程实用篇-&#x1f697; 自动驾驶初体验&#xff1a;车道线检测算法实战&#xff08;MATLAB2016b版&#xff09; 大家好&#xff01;今天我要带大家一起探索自动驾驶中一个非常基础但又至关重要的技术——车道线检测。我…...

【网络】什么是串口链路(Serial Link)?

在路由器上&#xff0c;串口链路&#xff08;Serial Link&#xff09;就是指路由器之间通过串行接口&#xff08;serial interface&#xff09;和串行电缆&#xff08;通常是V.35、RS-232或同步串行线路&#xff09;直接点对点相连的那一段连线。它和我们平常在局域网里用的以太…...