看问题参数传入native a method。如果我想写一个返回值的原生方法 Traverser (String path) 怎么办?如何在 Java 类型中转换 C 中的 long int 类型,返回本机方法 Traverser(字符串路径)?例如如何将 long int 转换为 jlong?如果我想写一个方法
public native long Traverser (String path),
这段代码是否正确
JNIEXPORT jlong JNICALL Java_ParallelIndexation_Traverser(JNIEnv* env, jobject obj, jstring path)
{
long int result;
const jbyte* path2 = env->GetStringUTFChars(path, nullptr);
if (path2 == nullptr)
return;
result=Traverser(path2);
env->ReleaseStringUTFChars(path, path2);
return result;
}
?
或者是否需要转换
long int result
至
jlong?
以及是否可以使用 Java_ParallelIndexation_Traverser 而不是
long int result;
声明
jlong result;
?