技术栈
内存安全
码农飞飞
17 天前
后端
·
rust
·
pin
·
内存安全
·
unpin
·
固定内存
Rust编程中Pin和Unpin的用法
Pin是一个智能指针,用于确保数据在移动后不会被错误地移动。它主要用于需要保持在某个位置的类型,比如实现了异步特性的类型。
码农飞飞
21 天前
开发语言
·
后端
·
rust
·
生命周期
·
内存安全
·
所有权
深入理解Rust的生命周期
在Rust中,生命周期是一个编译时的检查机制,用来追踪所有引用的有效范围。Rust的所有权系统会确保内存的分配和回收是安全的,生命周期的概念是其中的一部分。具体来说,生命周期在Rust中通过编译器进行分析,确保引用的生命周期不会超出它所引用的数据的生命周期。假设你有两个引用,它们指向不同的内存地址。生命周期帮助 Rust编译器确保这两个引用是有效的,不会发生其中一个引用指向已经释放的内存。
码农飞飞
1 个月前
开发语言
·
rust
·
match
·
枚举
·
匹配
·
内存安全
详解Rust枚举类型(enum)的用法
Rust枚举的一个强大特性是每个枚举成员可以携带数据。这些数据可以是不同类型的,因此你可以将枚举用于更复杂的场景。任何类型的数据都可以放入枚举成员中: 例如字符串、数值、结构体甚至另一个枚举。某个函数它的功能是接受消息并进行发送,那么用枚举的方式,就可以接收不同的消息,但是用结构体,该函数无法接受4个不同的结构体作为参数。
码农飞飞
1 个月前
rust
·
概述
·
高性能
·
内存安全
·
所有权
·
系统级编程
·
嵌入式编程
系统级编程语言Rust概述
Rust是由Mozilla的工程师Graydon Hoare于2006年开始设计的一门编程语言,目的是创建一种内存安全、并发安全,并且不牺牲性能的系统级编程语言。 Rust于2010年公开发布,并迅速吸引了开发者的关注。其设计灵感来自C++,通过引入所有权(Ownership)系统,解决了C/C++中常见的内存管理问题。Rust在 2015年发布了1.0版本,并开始获得广泛应用,特别是在高性能计算和WebAssembly领域。
碳苯
2 个月前
开发语言
·
rust
·
开源
·
mfc
·
os
·
内存安全
【rCore OS 开源操作系统】Rust 宏
使用 macro_rules! 关键词来定义宏,这是一种模式匹配式的宏定义方式。 自 Rust 1.26 版本开始,可以使用 proc_macro 属性宏来定义过程宏(如 derive 宏)。
碳苯
2 个月前
开发语言
·
rust
·
操作系统
·
字符串
·
os
·
内存安全
【rCore OS 开源操作系统】Rust 字符串(可变字符串String与字符串切片&str)
这次涉及到的题目相对来说比较有深度,涉及到 Rust 新手们容易困惑的点。这一次在直接开始做题之前,先来学习下字符串相关的知识。
碳苯
3 个月前
rust
·
开源
·
操作系统
·
os
·
内存安全
【rCore OS 开源操作系统】Rust 练习题题解: Structs
rCore OS 开源操作系统训练营学习中的代码练习部分。 在此记录下自己学习过程中的产物,以便于日后更有“收获感”。 后续还会继续完成其他章节的练习题题解。
碳苯
3 个月前
rust
·
开源
·
操作系统
·
os
·
内存安全
【rCore OS 开源操作系统】Rust 练习题题解: Enums
rCore OS 开源操作系统训练营学习中的代码练习部分。 在此记录下自己学习过程中的产物,以便于日后更有“收获感”。 后续还会继续完成其他章节的练习题题解。
GodLieke
1 年前
android
·
漏洞缓解
·
内存安全
Android MTE技术详解
MTE(内存标记扩展)是ARM v8.5-A新增的一项缓解内存安全的机制。在Android Linux现有的安全机制中,类似的机制有ASAN、HWSAN。但两者因为性能开销代价高昂,不适用于广泛部署(仅调试使用)。MTE当前带来了一种高性能、可扩展的硬件解决方案,可降低以不安全语言编写的代码中可能存在的内存安全违规风险。