我准备开始去学学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
浙公网安备 33010602011771号