使用 cxx 板条箱:https://crates.io/crates/cxx
我在 Rust 上有以下结构:
#[cxx::bridge]
pub(crate) mod ffi {
enum SizeType {
BYTE,
WORD,
DWORD,
QWORD,
}
unsafe extern "C++" {
//...
}
}
Run Code Online (Sandbox Code Playgroud)
这也映射到 C++ 上。我如何使用UniquePtr<SizeType>Rust?我必须编写一个 C++ 函数才能获得它吗?如果我这样做,那么将结构放在 Rust 方面就没有意义了。
我试过
let byte_ptr = UniquePtr::new(SizeType::BYTE);
但它不起作用。
尝试添加:
impl UniquePtr<SizeType> {}
Run Code Online (Sandbox Code Playgroud)
请参阅https://github.com/dtolnay/cxx/blob/a95eca61029b458998c1c5463481307af5643ba5/macro/src/expand.rs#L1408和https://github.com/dtolnay/cxx/blob/a95eca61029b458998c1c5463481307af564 3ba5/测试/ui/impl_trait_for_type.stderr 。
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |