JNI本机方法返回既不是JNI_FALSE也不是JNI_TRUE的jboolean

时间:2013-11-28 09:53:09

标签: java java-native-interface boolean

如果应该返回布尔值(本机类型jboolean)的JNI本机函数返回的值既不是JNI_FALSE(0)也不是JNI_TRUE(1),那么它是否定义了Java应该如何解释该值?

使用两个不同版本的Java,我发现在从类似这样的本机函数返回后出现了一些奇怪的事情:

JNIEXPORT jboolean JNICALL
Java_Class_function(JNIEnv* env, jobject obj)
{
    return 2;
}

1 个答案:

答案 0 :(得分:3)

这是未定义的行为。不要这样做。