超越标准 Rust
Rust 工具链支持的环境范围远比仅仅运行在用户空间的纯 Rust 应用程序代码要广泛:
- 它支持跨平台编译,其中运行工具链的系统(宿主)与编译后的代码将运行的系统(目标)不同,这使得针对嵌入式系统的开发变得简单。
- 它支持通过内置的 FFI 功能与用非 Rust 语言编译的代码进行链接。
- 它支持没有完整标准库
std
的配置,允许针对没有完整操作系统的系统(例如,没有文件系统,没有网络)。 - 它甚至支持不支持堆分配而只有栈的配置(通过省略标准
alloc
库的使用)。
这些非标准 Rust 环境可能更难工作,可能不那么安全 —— 它们甚至可能是 unsafe
的 —— 但它们提供了完成工作的更多选项。
本书的这一章仅讨论了在这些环境中工作的基础知识。除了这些基础知识之外,你还需要查阅更多特定环境的文档(例如 Rustonomicon)。
注释
原文点这里查看