使用 #[!no_std] 通过 FFI 将数组从 C 传递到 Rust
Passing an array from C to Rust via FFI with #[!no_std]
在我的案例中 about passing an array from C to Rust use std::slice::from_raw_parts
to convert the raw C pointer and some length information into a Rust. In an embedded context (MOS 6502 的所有答案),可能没有可用的 std
库。因此,在 #![no_std]
上下文中,将数组从 C 传递到 Rust 以进行(可能可变的)处理的最佳方式是什么?
虽然 std::slice::from_raw_parts
在 no_std
环境中不可用,但 core::slice::from_raw_parts
可用,因此您可以简单地使用它。
一般来说,std
中的任何内容并且不依赖于平台(因此,不是 I/O、堆分配等)也应该在 no_std
环境中可用,通过core
板条箱。
在我的案例中 std::slice::from_raw_parts
to convert the raw C pointer and some length information into a Rust. In an embedded context (MOS 6502 的所有答案),可能没有可用的 std
库。因此,在 #![no_std]
上下文中,将数组从 C 传递到 Rust 以进行(可能可变的)处理的最佳方式是什么?
虽然 std::slice::from_raw_parts
在 no_std
环境中不可用,但 core::slice::from_raw_parts
可用,因此您可以简单地使用它。
一般来说,std
中的任何内容并且不依赖于平台(因此,不是 I/O、堆分配等)也应该在 no_std
环境中可用,通过core
板条箱。