以下是我想在C语言代码中实现的内容:
#include <some_lib.h>
int main() {
some_lib_struct_t x;
some_lib_func(&x);
}
我该如何在Rust中使用库?以下是我目前的情况:
extern crate libc; // 0.2.51
struct some_lib_struct_t;
#[link(name = "some_lib")]
extern "C" {
fn some_lib_func(x: *mut some_lib_struct_t);
}
fn main() {
let mut x: some_lib_struct_t;
unsafe {
some_lib_func(&mut x);
}
}
编译时出现错误:
error[E0381]: borrow of possibly uninitialized variable: `x`
--> src/main.rs:13:23
|
13 | some_lib_func(&mut x);
| ^^^^^^ use of possibly uninitialized `x`
std::mem::uninitialized
自1.39.0版本起已被弃用,请改用mem::MaybeUninit
。 - Lonami