1

看问题参数传入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;

?

4

0 回答 0