给定一个结构:
#[repr(C)]
pub struct User {
pub name: *const c_char,
pub age: u8,
pub ctx: ??,
}
Run Code Online (Sandbox Code Playgroud)
该字段ctx只能由C代码操作;它是C结构的指针UserAttr。
根据Rust FFI文档,该选择将定义为不透明类型pub enum UserAttr {}。但是,我发现Rust无法复制其值,例如,为什么对象的地址在方法之间会发生变化。
在Rust中定义这样一个不透明指针的正确方法是什么,以使它的值(作为指针)跨方法复制?
rust ×1