Фон
Я работаю с байтовыми массивами в JNI .И я не могу получить длина из jbyteArray .Я пишу код в eclipse в Windows 7 .
Java-код:
private native int Enroll( byte[] pSeed );
Код JNI:
В JNI у меня есть структура, состоящая из двух членов unsigned long length
иunsigned char data[1]
typedef struct blobData_s {
unsigned long length;
unsigned char data[1];
} blobData_t;
Теперь, когда моя функция JNI получает в качестве аргумента jbyteArray jpSeed
, я хочу получить длину jpSeed
и установить ее в качестве члена длины структуры.
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: Как я могу получить длину jpSeed
в JNI?
Вопрос 2: Будет ли этот кодработает правильно bd.data[1] = jbyteArray;
?