gpt4 book ai didi

rust - 如何使用从 rust Vec 中提取的参数列表调用可变参数 C 函数?

转载 作者:行者123 更新时间:2023-11-29 08:28:48 24 4
gpt4 key购买 nike

<分区>

我正在尝试调用 JNI 函数 CallStaticVoidMethod从使用rust 。 jni-sys 包装器将其声明为

pub CallStaticVoidMethod:
Option<unsafe extern "C" fn(env: *mut JNIEnv, cls: jclass, methodID: jmethodID, ...)>,

我想用更安全的方式包装这个调用,所以我在我的包装器对象上创建了这个方法:

pub fn call_static_void_method(&mut self, cls: jclass, method: jmethod, args: & Vec<jobject>)
{
let csvm;
unsafe {
csvm = (**self.env_ptr).CallStaticVoidMethod.expect("no implementation of CallStaticVoidMethod");
}
unsafe {
return csvm(self.env_ptr, cls, method, /*what here?*/);
}
}

如何转换 args:Vec<jobject>这样我就可以为 CallStaticVoidMethod 提供最后的论据JNI函数?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com