lua使用rust代码(第三期)--Vec<struct>
[toc]
前言
在C中,string类型可以看作char的数组。保存的是数组第一个元素的地址。那么对于真正的数组,也可以如lua使用rust代码--第二期 中处理字符串一样,处理对象数组。
示例
lib.rs
use std::ffi::CString;
use std::os::raw::{c_char, c_int};
//rust struct
#[derive(Deserialize,Debug)]
struct HostInfo {
ip:String,
port:u32,
}
#[derive(Debug)]
#[repr(C)]
pub struct CHostInfo {
ip: *const c_char,
ip_len: c_int,
port: c_int,
}
fn get_info() -> Result<Vec<HostInfo>, reqwest::Error>{
//get data through api by reqwest
let