【发布时间】:2014-10-30 23:55:24
【问题描述】:
很简单,我怎样才能在 Rust 中做与 C 中相同的事情。
所以C代码:
extern mps_res_t mps_arena_create_k(mps_arena_t *);
mps_arena_t arena;
res = mps_arena_create_k(&arena);
在 C 中这是可行的,所以在 rust 中我做到了:
extern "C" {
pub fn mps_arena_create_k(arg1: *mut mps_arena_t) -> mps_res_t;
} // created by rust_bindgen
unsafe {
let mut arena : *mut mps_arena_t;
res = mps_arena_create_k(arena);
}
问题是编译器报错:
error: use of possibly uninitialized variable: `arena`
我不是一个优秀的 C 程序员,但这种模式很常见,我如何在 rust 中做到这一点?
【问题讨论】:
-
stackoverflow.com/questions/26185618/… 顺便说一句,Rust 还没有被标准化,我不知道现在将 Rust 用于这种“敏感”的东西是否有意义,或者它是否有意义;如果我是你,我会等待标准的 Rust 1.0。
-
请用英语而不是 C 的部分 sn-ps 来询问您的 rust-question。
标签: rust