如何在jni中读取二维数组

时间:2016-07-08 20:29:03

标签: java android c++ arrays java-native-interface

如何从java传递的cpp中读取2D双数组。我想要一个包含内存释放的示例代码。 我尝试了以下内容,但应用程序因Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)错误而崩溃。

JNIEXPORT jobjectArray JNICALL Java_com_example_Test
  (JNIEnv *env, jobject obj, jobjectArray arr, jint width, jint height){

    for (int j = 0; j < height; j++) {

        jdoubleArray line1 = (jdoubleArray)env->GetObjectArrayElement(arr, j);

        jdouble *img1 =  env->GetDoubleArrayElements( line1, 0);

        // work with img1[]...

        env->ReleaseDoubleArrayElements(line1, img1, 0);
        env->DeleteLocalRef(line1);
    }
.
.
.
}

0 个答案:

没有答案