2

我正在尝试将 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

4

0 回答 0