背景

我正在使用JNI中的字节数组.而且我无法获得jbyteArray的长度.我正在Windows 7中的eclipse中编写代码.

private native int Enroll( byte[] pSeed );

JNI代码:

在JNI中,我有一个结构,它有两个成员无符号长度和无符号字符数据[1]

typedef struct blobData_s {

unsigned long length;

unsigned char data[1];

} blobData_t;

现在我的JNI函数得到参数jbyteArray jpSeed我想得到jpSeed的长度并将其设置为struct的length成员.

JNIEXPORT jint JNICALL Java_com_Test_Enroll( JNIEnv* env,jobject thiz,jbyteArray jpSeed ){

blobData_t* bd = malloc( sizeof(blobData_t) );

bd->length = **Question 1**

bd->data[1] = jbyteArray;

}

问题1:如何在JNI中获得jpSeed的长度?

问题2:此代码是否正常bd.data [1] = jbyteArray; ?

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐