如何将JNI jdoublearray转换为C的double *(指针)

时间:2014-04-17 05:54:31

标签: android java-native-interface

我对JNI环境不是很了解并且坚持到这里。 从Java层到JNI,它传递double [] []和double []作为参数, 如何将这些转换成C&#39的双*。

有人有任何建议吗?

1 个答案:

答案 0 :(得分:3)

我在这里得到了答案:

JNIEXPORT void JNICALL Java_JavaArrayTest
(JNIEnv *env, jobject, jdoubleArray x, jdoubleArray y)
{ 
     long N        = env->GetArrayLength(x);           // Access the array length

     double* xPtr  = env->GetDoubleArrayElements(x,0); // Get C++ pointer to array data 
     double* yPtr  = env->GetDoubleArrayElements(y,0); // and "pin" array elements

     - - - - - -
}

其中O / 1定义为:

#define JNI_FALSE 0
#define JNI_TRUE 1