C++ から Java に jintArray を返そうとしていますが、何をしても呼び出しがハングし続け、コードが停止します。こんな簡単なものでも
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 を削除してみました