我正在尝试将 jintArray 从 C++ 返回到 Java,但无论我做什么,调用都会挂起,代码就会停止。即使像这样简单的东西
JNIEXPORT jintArray JNICALL Java_main_getIntArray(JNIEnv *env, jclass c) {
jintArray intArray = env->NewIntArray(5);
jint values[5] = {69, 69, 69, 69, 69};
env->SetIntArrayRegion(intArray, 0, 5, values);
env->ReleaseIntArrayElements(intArray, values, NULL);
return intArray;
}
在java中我正在做
System.out.println("Start getting array");
System.out.println("Array: " + Arrays.toString(getIntArray()));
System.out.println("Done getting array");
但我得到的唯一输出是
开始获取数组
有什么我做错了吗?
我尝试从 values[] 创建一个指针并在 SetIntArrayRegion 中使用该指针
我尝试通过循环自己填充数组
我尝试删除 ReleaseIntArrayElements