Возврат и заполнение jintArray из jni

Я пытаюсь вернуть 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;
}

В яве делаю

System.out.println("Start getting array");
System.out.println("Array: " + Arrays.toString(getIntArray()));
System.out.println("Done getting array");

но единственный выход, который я получаю,

Начать получать массив

Я что-то не так делаю?

  • Я попытался создать указатель из values ​​[] и использовать его в SetIntArrayRegion

  • Я попытался заполнить массив сам, перебирая его

  • Я попытался удалить ReleaseIntArrayElements

2

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]