跳到主要内容

系统编程简介

Rust 经常被称为系统编程语言。这里的“系统编程”不是只写操作系统,而是指更接近系统资源的程序:文件、进程、线程、网络、内存、硬件接口等。

Rust 为什么适合系统编程

C 和 C++ 给你很高的控制力,但也容易出现悬垂指针、重复释放、数据竞争等问题。Rust 的目标是在保持控制力的同时,通过所有权、借用和类型系统提前发现很多错误。

你可以把 Rust 理解成这样一种语言:它允许你接近底层,但会要求你把资源关系讲清楚。

标准库能做什么

Rust 标准库提供了常用系统能力:

  • std::fs:文件和目录
  • std::env:环境变量和命令行参数
  • std::process:启动子进程
  • std::thread:创建线程
  • std::sync:线程同步
  • std::net:TCP 和 UDP 网络

什么时候需要 unsafe

大多数 Rust 代码不需要 unsafe。当你直接操作裸指针、调用 C 函数、访问硬件寄存器时,才可能需要 unsafe

unsafe 不代表代码一定错误,它代表编译器需要你额外保证某些安全条件。

小结

学习 Rust 系统编程时,你不需要一上来理解操作系统内核。先从文件、参数、进程、线程这些日常能力开始,再逐步接触 unsafe、FFI 和嵌入式场景。