BiteTheDisk 小站 BiteTheDisk OS kernel 开发小记
拥有标签 FFI 的文章:

Rust 和 C 的交互

在 Rust 中,字符串是一个胖指针,包括具有所有权的 String 以及 &'a str,并且为 utf-8 编码

而在 C 中,字符串只是一个单纯的指针,以有符号的 i8 为单元,以 \0 作为结尾,长度不包括结尾 ‘\0’

在使用 Rust 编写 initrpoc 和 系统调用的时候,由于测例所要求的的接口所使用的的字符串相关参数均为 C 标准,所以我们需要将 Rust 和 C 之间的字符串进行转换