2

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 を削除してみました

4

0 に答える 0