淡若轻风

博客园 首页 新随笔 联系 订阅 管理

我准备开始去学学Rust语言了,以后会把学习的一些记录存在这个地方。当成学习笔记来使用。

很早就在网上听说了这个语言,说这是个神奇的语言,这门新的计算机语言可以根除C&C++语言

在内存管理上面的问题,主要是野指针,忘记是哪位大佬说过的了。

 

Rust语言的发展简史:

2006:Graydon Hoare 启动个人项目。

2009:Mozilla 正式赞助。

2015-05-15:Rust 1.0 稳定版发布。

2021:Rust 基金会成立。

2023:Linux 6.1 内核正式支持 Rust。

现状:连续多年 Stack Overflow “最受喜爱语言”,生产环境广泛采用。

核心设计理念:

 

所有权(Ownership):每个值有唯一所有者;所有者离开作用域,内存自动释放,无 GC、无手动 free。

借用(Borrowing):可只读借用(多个)或可变借用(唯一),编译期禁止数据竞争。

生命周期(Lifetime):编译器自动校验引用有效性,杜绝悬垂引用。

零成本抽象:高级特性(泛型、Trait、闭包)编译后无额外开销,性能比肩 C/C++。

核心优势:

内存安全:编译期杜绝空指针、悬垂引用、缓冲区溢出等漏洞。

并发安全:所有权 + 借用规则编译期阻止数据竞争,无需手动加锁。

高性能:无 GC、无运行时,栈分配优先,适合高吞吐、低延迟场景Rust。

生产力:内置 Cargo(构建 + 依赖管理)、rustfmt、clippy;错误提示清晰,文档完善Rust。

跨平台:支持 x86/ARM/RISC-V,适配 Linux/Windows/macOS/ 嵌入式 / WasmRust

典型应用场景:

系统开发:操作系统内核、驱动、固件(如 Linux 内核、Redox OS)。

云原生 / 网络:高性能网关、代理、分布式数据库(如 Cloudflare、PingCAP TiKV)Rust。

WebAssembly:浏览器高性能模块、前端框架(如 Discord、Figma)。

嵌入式 / IoT:资源受限设备、实时系统(如 Arduino、ESP32)Rust。

区块链:公链 / 智能合约(如 Solana、Near)。

命令行工具:替代 Python/Shell,速度快、单文件分发(如 ripgrep、exa)

与 C/C++、Go 对比:

vs C/C++:安全更强(编译期检查),无手动内存管理,并发更安全;学习曲线更陡。

vs Go:Rust 无 GC、性能更高、内存安全更强;Go 语法更简单、编译更快、生态成熟。

适合与不适合:

适合:系统编程、高性能服务、安全敏感场景、嵌入式、WasmRust。

不适合:快速脚本、一次性小程序、团队无系统编程经验Rust

posted on 2026-05-11 15:03  淡若轻风  阅读(36)  评论(0)    收藏  举报