JAVA代码
boolean b = invokeNativeFunction();
int i = invokeNativeFunction2();
C代码
jboolean Java_com_any_dom_Eservice_invokeNativeFunction(JNIEnv* env, jobject obj) {
bool bb = 0;
...
return // how can return 'bb' at the end of the function?
}
jint Java_com_any_dom_Eservice_invokeNativeFunction2(JNIEnv* env, jobject obj) {
int rr = 0;
...
return // how can return 'rr' at the end of the function?
}
JNI 函数是否可能返回整数或 boolean 值?如果是,我该怎么做?
最佳答案
可以,直接返回值即可。
JNIEXPORT jint JNICALL Java_com_example_demojni_Sample_intMethod(JNIEnv* env, jobject obj,
jint value) {
return value * value;
}
JNIEXPORT jboolean JNICALL Java_com_example_demojni_Sample_booleanMethod(JNIEnv* env,
jobject obj, jboolean unsignedChar) {
return !unsignedChar;
}
Java原始类型和原生类型之间存在映射关系,引用here .
关于java - JNI 函数是否可能返回整数或 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27925170/