在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;
在Rust和C之间传递字符串,有 7 种方法!_第1张图片在Rust和C之间传递字符串,有 7 种方法!_第2张图片在Rust和C之间传递字符串,有 7 种方法!_第3张图片在Rust和C之间传递字符串,有 7 种方法!_第4张图片在Rust和C之间传递字符串,有 7 种方法!_第5张图片在Rust和C之间传递字符串,有 7 种方法!_第6张图片

你可能感兴趣的:(rustc)