如何从 Rust 创建 C++ 对象?

Gue*_*OCs 5 c++ ffi rust

我知道当结构具有 C 表示时, aBox<SomeRustStruct>可以解释为SomeRustStruct*C++ 中的原始指针。

反过来怎么做?我只发现了一些 bindgen 的用法。

如何在 Rust 中创建并保存指向 C++ 对象的指针?

Mas*_*inn 2

与在 Rust 中创建和保存指向 C 对象的指针的方式相同:C++ 类型将由 Rust 端的不透明结构 S 表示,并且指针是一个*mut S.

如果您需要在 Rust 端执行直接字段访问但不(想要)具有访问器函数,您还可以将该类型声明为非不透明类型(但要注意这种情况下的布局问题)。