【发布时间】:2023-02-24 21:02:08
【问题描述】:
我有一个外部 C++ 库,我想从 Rust 中使用它。为此,我使用 bindgen 来映射函数调用。我要使用的 C++ 函数填充 (C++) 字符串向量并具有签名:
short REQ_MList(std::vector<std::string> *list)
Bindgen 生成 rust 函数:
pub fn REQ_MList(list: *mut std_vector) -> ::std::os::raw::c_short
现在我不知道如何处理这种数据类型 std_vector。
我试图生成 std_vector 结构并提供一个指向它的原始指针,它编译但(当然)失败。
let mut list=std_vector{_Mypair: (0)};
let list_ptr:*mut std_vector= &mut list;
REQ_MList(listptr);
处理此 C++ 数据类型的正确方法是什么。我还没有找到有关此主题的任何文档。
【问题讨论】:
标签: c++ rust vector rust-bindgen