arrays - 使用 #[!no_std] 通过 FFI 将数组从 C 传递到 Rust

标签 arrays c rust ffi rust-no-std

this question的所有答案关于将数组从 C 传递给 Rust 使用 std::slice::from_raw_parts将原始 C 指针和一些长度信息转换为 Rust。在嵌入式上下文中(在我的情况下为 MOS 6502),可能没有 std图书馆可用。所以#![no_std]上下文 ,将数组从 C 传递到 Rust 以进行(可能可变的)处理的最佳方法是什么?

最佳答案

虽然 std::slice::from_raw_partsno_std 中不可用环境, core::slice::from_raw_parts 可用,因此您可以简单地使用它。
一般来说,在 std 中的任何内容并且不以某种方式依赖于平台(因此,不是 I/O、堆分配等)也应该在 no_std 中可用。环境通过 core箱。

关于arrays - 使用 #[!no_std] 通过 FFI 将数组从 C 传递到 Rust,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69030484/

相关文章:

rust - 使用关联类型时不满足特征绑定(bind)

rust - 对于数字类型的 "fuzzy compare",我可以使用什么特征?

php - mysql查询自增

c - 字符串中的单词排序

c - OpenMP 循环对同一个串行循环给出不同的结果

c - 在 c 中以 double 作为输入的函数中传递 double**

json - 根据 JSON 中的字段有条件地解码 JSON

java - Libgdx 数组 |删除全部导致错误

arrays - 如何用Kotlin检查2D数组中是否存在值?

javascript - 如何一次将一个元素多次添加到数组中