在 Rust 和 C 之间传递字符串,有 7 种方法!
Rust 与 C 的互操作性,是 Rust 中最令人难以置信的事情之一。C 可以安全地调用 Rust 代码,且 Rust 可以使用具有 C 接口的知名库的能力,是整个行业快速采用 Rust 的关键原因。
它还允许我们通过为 rust crate 实现 C 接口来更好地分发代码,因此它可以被任何能够调用 C 语言编写的软件使用。
1.将 Rust 字符串传递给 C 的 5 种方法(查看图片):
(1)提供创建和删除的方法;
(2)分配缓冲区并复制数据;
(3)将内存分配器方法传递给 Rust;
(4)从 Rust 调用 glibc;
(5)借用 Rust string;
2.将 C 字符串传递给 Rust 的 2 种方法(查看图片):
(1)将其转换为 &str,不复制数据;
(2)复制数据并接收 string;
评论