- 2025-01-17番外-rust 可变性与所有权、借用的关系
在Rust中,可变性(mutability)、所有权(ownership)和借用(borrowing)是三个核心概念,它们在一起决定了如何在内存中管理数据、避免数据竞争以及确保程序的安全性。这些概念互相联系,共同维护了Rust的内存安全性。让我们逐一展开这些概念,并了解它们之间的关系。1.所有权(Ownership)所
- 2025-01-164. rust基础Vec-可变数组
Vec基本知识定义Vec是一个存储堆分配的数据类型,可以动态改变大小。你可以将元素推送到Vec中,或者从其中删除元素。动态大小不像数组([T;N])那样大小固定,Vec的大小在运行时是可变的。你可以向Vec添加元素,也可以删除元素,甚至将它的容量增加或减少。如何使用Vec1.
- 2025-01-10Rust 结构体部分字段的可变借用
问题复现,假设我们有一个简单的Point结构体:structPoint{x:f64,y:f64,}implPoint{pubfnx_mut(&mutself)->&mutf64{&mutself.x}pubfny_mut(&mutself)->&mutf64{&mutself.y}}
- 2024-12-31spring boot迁移计划 第Ⅰ章 --chapter 1. rust hyper 结合rust nacos-client开发nacos网关 part ② hyper网关
1.toml依赖hyper={version="1",features=["full"]}tokio={version="1",features=["full"]}http-body-util="0.1"hyper-util={version="0.1",features=["full"]}2.
- 2024-12-27rust的几种闭包类型
前提知识:rust里面有move,copy,clone。所有对象都有一个类型,具体所有权。比如#[derive(Debug)]structComplex{real:f64,imag:f64,}fnmain(){leta=Complex{real:1.,imag:2.};letb=a;println!("{:?}",a);println!("{:?}",b);}会
- 2024-12-06Rust学习笔记_16——Vector
Rust学习笔记_13——枚举Rust学习笔记_14——结构体Rust学习笔记_15——UnionVector文章目录Vector1.创建Vector2.访问3.修改元素4.容量和长度5.遍历6.内存安全7.性能在Rust编程语言中,Vec<T>是标准库中提供的动态数组类型,它是最常用的数据结构之一。V
- 2024-11-28rust中使用opencv和cuda
最近公司有个要识别的项目需要计算机识别,于是就找到了opencv来进行,opencv的cuda版本需要自己来进行编译需要去opencv官网下载,我下载的版本是opencv4.10https://github.com/opencv/opencv/archive/refs/tags/4.10.0.zip还有需要opencv_contrib-4.10.0和cmake下载下载之前需要检
- 2024-11-25异步与资源调度 以浏览器事件循环为例
初次发布于我的个人文档参考:chromiun官方文档w3c官方文档针对一个异步的程序应该如何对它进行资源的调度呢?本文以浏览器为典型范例进行简单介绍。1.查看浏览器的多进程图景打开任意一个浏览器这里以edge为例。然后打开Windows的任务管理器,你看到的可能是这样:事实上,在edg
- 2024-11-25初识C语言③:深入理解printf与scanf函数
初识C语言③:深入理解printf与scanf函数1.printf函数2.scanf函数一、printf函数1.1基本用法printf()的作用是将参数文本输出到屏幕。它名字里面的f代表format(格式化),表示可以按照一定的格式在标准输出设备上打印数据。代码演示:#include<stdio.h>intmain(void
- 2024-09-15LOJ#2885. 「SDOI2010」猪国杀
对拍器在此。https://www.luogu.com/discuss/81283献忠!AC代码modoiread{usestd::{io::{stdin,Read},ops::{Add,Mul,Neg},};pubfnnext()->u8{letmuta=stdin().lock();letmutc=[0u8];matcha
- 2024-08-21rust库-ouroboros中文文档
文档原文:https://docs.rs/ouroboros/latest/ouroboros/attr.self_referencing.html属性宏ouroboros::self_referencing#[self_referencing]此宏用于将常规结构转换为自引用结构。举个例子:useouroboros::self_referencing;#[self_referencing]structMyStruct{int_d
- 2024-08-190243-RLTK-记住可视区
环境Time2022-11-30WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook目标基于前一节的内容,角色只能看见自身周围,这一节将记住探索过的区域。记住打开的地图#[derive(Default)]pubstructMap{pubtiles:Vec<TileTy
- 2024-08-190244-RLTK-增加地图怪物
环境Time2022-12-01WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook目标基于前一节的内容,在每个房间的中间放置怪物。comp.rsuserltk::{console,field_of_view,Point,RGB};usespecs::prelude::*;usespecs_derive:
- 2024-08-160236-RLTK-渲染动态字符
环境Time2022-11-29WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook目标在前一节的基础上,将静止的字符进行移动。Component#[derive(Component)]structPosition{x:i32,y:i32,}#[derive(Component)]st
- 2024-08-160237-RLTK-控制角色移动
环境Time2022-11-29WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook目标使用键盘来控制角色在窗口中进行移动。Component#[derive(Component)]structPosition{x:i32,y:i32,}#[derive(Component)]struc
- 2024-08-160238-RLTK-生成大地图
环境Time2022-11-29WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook目标基于前一节的内容,生成一张可以让角色移动的大地图。地板和墙#[derive(PartialEq,Copy,Clone)]enumTileType{Wall,Floor}计算坐标pub
- 2024-08-160239-RLTK-分割不同文件
环境Time2022-11-30WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook目标基于前一节的内容,随着main.rs文件中的内容越来越多,将其进行分割。comp.rsuserltk::RGB;usespecs::prelude::*;usespecs_derive::Component;
- 2024-08-160240-RLTK-生成小房间
环境Time2022-11-30WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook目标基于前一节的内容,生成两个小房间,只修改map.rs文件。生成房间函数fnapply_room_to_map(room:&Rect,map:&mut[TileType]){foryinroom
- 2024-08-120218-地址解析协议
环境Time2022-11-20VirtualBox7.0.2Rust1.65.0pnet0.31.0CentOS7前言说明参考:https://docs.rs/pnet_packet/latest/pnet_packet/index.html目标使用两台虚拟机,通过IP地址,获取到目标主机的MAC地址。日常使用的时候,都是使用IP连接服务器,需要使用地址解析协
- 2024-08-120219-使用 TAP 来进行通信
环境Time2022-11-20WSL-Ubuntu22.04Rust1.65.0pnet0.31.0tun-tap0.1.3前言说明参考:https://docs.rs/pnet_packet/latest/pnet_packet/index.html参考:https://www.kernel.org/doc/html/latest/networking/tuntap.html目标通过TAP来模拟二层设备,接收之前发送的