互用性
std::os::raw
处理底层基本类型,这些类型可以被编译器隐式地转换,因为Rust和C之间的内存布局足够相似或相同。
std::ffi
提供了一些工具去转换更复杂的类型,比如Strings,将和String
映射成更容易和安全处理的C类型。
像上面提到的基本类型能被编译器隐式地转换。
把Rust包含进你的嵌入式项目的一个常见需求是,把Cargo结合进你现存的编译系统中,比如make或者cmake。
将Rust和一个RTOS集成在一起,比如FreeRTOS或者ChibiOS仍然在进行中; 尤其是从Rust调用RTOS函数可能很棘手。
在issue #62中我们的issue tracker上,我们正为这件事收集例子和用例。