我有一个外部 C++ 库,我想从 rust 中使用它。为此,我使用 bindgen 来映射函数调用。我想要使用的 C++ 函数填充 (C++) 字符串向量并具有签名:
short REQ_MList(std::vector<std::string> *list)
Run Code Online (Sandbox Code Playgroud)
Bindgen 生成 Rust 函数:
pub fn REQ_MList(list: *mut std_vector) -> ::std::os::raw::c_short
Run Code Online (Sandbox Code Playgroud)
现在我不知道如何处理这个数据类型std_vector。
我尝试生成 std_vector 结构并提供指向它的原始指针,该指针可以编译但(当然)失败。
let mut list=std_vector{_Mypair: (0)};
let list_ptr:*mut std_vector= &mut list;
REQ_MList(listptr);
Run Code Online (Sandbox Code Playgroud)
处理此 C++ 数据类型的正确方法是什么?我还没有找到任何关于这个主题的文档。