第十三篇:《unsafe Rust 与 FFI:与 C 和系统调用交互》在之前的十二篇文章中,我们一直在安全 Rust(Safe Rust) 的世界里——所有权、借用检查、生命周期,编译器替我们挡住了所有内存安全问题。但系统编程的某些场景,安全 Rust 无法表达:调用 C 库、操作裸指针、实现底层数据结构、直接与操作系统交互。这时,就需要 unsafe Rust。unsafe 不是“关闭安全检查”,而是开启五项编译器无法验证的能力,并将安全责任转移给开发者。本文从 unsafe 的五种能力讲起,深入讲解裸指针、FFI(外部函数接口)、bindgen/cbindgen 工具,