JNI - собственный метод с параметром ByteBuffer

У меня есть метод:

public native void doSomething(ByteBuffer in, ByteBuffer out);

Сгенерированный javah заголовком C/C++ этого метода:

JNIEXPORT void JNICALL Java__MyClass_doSomething (JNIEnv *, jobject, jobject, jobject, jint, jint);

Как я могу получить массив данных от jobject (который является экземпляром ByteBuffer)?

18
задан Arek 20 April 2010 в 09:06
поделиться

1 ответ

Предполагая, что вы выделили ByteBuffer с помощью ByteBuffer.allocateDirect () , вы можете использовать GetDirectBufferAddress

jbyte* bbuf_in;  jbyte* bbuf_out;

bbuf_in = (*env)->GetDirectBufferAddress(env, buf1);  
bbuf_out= (*env)->GetDirectBufferAddress(env, buf2); 
30
ответ дан 30 November 2019 в 08:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: