Rustonomicon
180 页
Chinese
PDF
4.5

Rustonomicon

Rustonomicon

作者:

年份:

简介:

引言

The Rustonomicon(中文译名《Rustonomicon》)不仅仅是一本书,更像是一本魔法书,一本关于Rust编程语言黑暗知识的汇编。如果你已经掌握了Rust的基础知识,并且有勇气窥探严格安全保证背后的秘密,那么这本书将成为你进入unsafe代码、原始指针、FFI(外部函数接口)以及其他危险但必要工具世界的向导。本书由多位作者(Various Authors)集体编写,并得到社区支持,是官方的不安全Rust指南,其在线版本可免费获取。2022年出版的180页纸质版是一本紧凑但内容丰富的参考书,适合那些想了解Rust“引擎盖下”的工作原理,以及在真正需要时如何绕过其保护机制的人。

本书内容

本书完全专注于Rust的unsafe子集。它不教授基础语法或惯用代码——假定读者已经能够熟练编写安全的Rust代码。主要主题包括:

  • 原始指针(*const T 和 *mut T):创建、解引用、指针运算。
  • 不安全函数和trait:声明和调用 unsafe fn,实现 unsafe trait。
  • FFI(外部函数接口):从Rust调用C函数,为C导出Rust函数,处理 extern 块。
  • 内存管理:手动内存管理、分配器、创建自定义智能指针。
  • 数据表示:对齐、类型大小、结构体和枚举的内存布局、#[repr(...)] 属性。
  • 未定义行为(UB):在unsafe代码中哪些可以做、哪些不能做,如何避免UB。
  • 原子操作与内存屏障:底层同步。
  • 内联汇编:用于平台相关代码的 asm! 宏。

目标读者

The Rustonomicon 面向有经验的Rust开发者,他们已有编写安全代码的经验,并希望深入系统编程领域。本书对以下人群尤其有用:

  • 创建带有FFI的库的开发者(例如,C/C++库的封装)。
  • 从事操作系统、驱动程序或嵌入式系统工作的工程师。
  • 希望实现具有手动内存管理的自定义数据结构(例如,自定义 Vec 或 HashMap)的人。
  • 游戏引擎和高性能应用程序的开发者,其中每一微秒都至关重要。
  • 所有希望真正理解Rust在机器码层面如何工作的人。

读者将学到什么

阅读本书后,您将能够:

  • 自信地使用原始指针,并理解引用与指针之间的区别。
  • 编写安全封装来包裹不安全代码,避免内存泄漏和UB。
  • 通过FFI与C库交互,传递复杂的数据结构。
  • 创建自定义分配器并手动管理内存。
  • 理解内存中的数据布局、对齐和类型大小。
  • 使用原子操作进行无锁编程。
  • 避免未定义行为,编写正确的unsafe代码。
  • 为平台相关的优化嵌入汇编代码片段。

优点

本书具有一系列不可否认的优点: