最新 最热

RAII技术:在Rust中实现带有守卫的自旋锁,支持一定程度上的编译期并发安全检查

对于许多编程语言默认提供的锁,加锁、放锁需要手动进行。手动加锁可以理解(这不废话嘛),但是,手动放锁的时机,总是难以控制。比如:在临界区内,执行过程中,如果程序出错了,在异常处理的过程中,忘记放锁,那么就会造成其他进程无法获...

2023-10-18
1

Rust数组默认初始化:初始化未实现Copy trait的类型

在安全的Rust中,编译器要求数组一旦被声明,它所占用的内存应当被完全初始化。但是,在一些情况下,这样会导致没法很灵活的对数组进行默认初始化。...

2023-10-18
1

Rust的std::iter::map()方法

map()通过其参数将一个迭代器转换为另一个迭代器. 它在原来的迭代器的基础上,产生一个新的迭代器,它在原始迭代器的每个元素上调用这个闭包。

2023-10-18
1

Rust: Struct的Update语法

然后,我们先是声明了第一个实例,叫做ord_1.并且为这个ord_1设置了一些值。

2023-10-18
0

Rust流程控制:if let和while let

与C相比,Rust多了if let和while let这两个流程控制语句,因为之前我没有接触过这种,因此第一感觉就是有点抽象。

2023-10-18
1

Rust将new出来的对象赋予static生命周期

今天在用Rust写DragonOS的signal机制时候,遇到了这么一个问题:我需要在fork的时候为进程动态分配sighand结构体,而直接使用Box::new()出来的sighand对象,在process_copy_sighand()函数结束之后,生命周期就结束了,rust编译器...

2023-10-18
1

egg教程(二):getting_started

本教程的目的是让您即使没有什么 Rust 经验,也能开始使用 egg。如果你还没听说过e-graph,可以先阅读背景教程。如果你有 Rust 相关经验,可以略读本节。...

2023-10-17
1

【Rust 基础篇】Rust派生宏:自动实现trait的魔法

Rust是一门现代的、安全的系统级编程语言,它提供了丰富的元编程特性,其中派生宏(Derive Macros)是其中之一。派生宏允许开发者自定义类型上的trait实现,从而在编译期间自动实现trait。在本篇博客中,我们将深入探讨Rust中的...

2023-10-12
0

【Rust 基础篇】Rust类函数宏:代码生成的魔法

Rust是一门现代的、安全的系统级编程语言,它提供了丰富的元编程特性,其中类函数宏(Function-Like Macros)是其中之一。类函数宏允许开发者创建类似函数调用的宏,并在编译期间对代码进行生成和转换。在本篇博客中,我们将深入...

2023-10-12
0

【Rust 基础篇】Rust 属性宏:定制你的代码

Rust是一门现代的、安全的系统级编程语言,它提供了丰富的元编程特性,其中属性宏(Attribute Macros)是其中之一。属性宏允许开发者在代码上方添加自定义的属性,并对代码进行定制化处理。在本篇博客中,我们将深入探讨Rust中的...

2023-10-12
0