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;