16
У меня есть метод: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)?
Тип возврата GetDirectBufferAddress недействительна *, вам нужно, чтобы бросить его в jbyte *: bbuf_in = (jbyte *) (env *) -> GetDirectBufferAddress (env, buf1); // C bbuf_in = (jbyte *) env-> GetDirectBufferAddress (buf1); // C++ –
@ Error454 Это C, вам не нужно набрасывать 'void *' s –
Вам нужно бросить, если у вас есть -Wpedantic –