我知道一个 Box<SomeRustStruct>
可以解释为原始指针 SomeRustStruct*
在 C++ 中,当结构具有 C 表示时。
反过来怎么做?我只发现了一些 bindgen 的用法。
如何在 Rust 中创建并保存指向 C++ 对象的指针?
最佳答案
和你一样create and hold a pointer to a C object in Rust :C++ 类型将在 Rust 端由一个不透明的结构 S 表示,指针是一个 *mut S
.
如果您需要在 Rust 端执行直接字段访问但不(想要)具有访问器功能,您还可以将该类型声明为非不透明类型(但要注意这种情况下的布局问题)。
关于c++ - 如何从 Rust 创建 C++ 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64475428/