16
Mam metodę:JNI - rodzimy metoda z parametrem ByteBuffer
public native void doSomething(ByteBuffer in, ByteBuffer out);
Wygenerowane przez javah C/nagłówek C++ tej metody jest:
JNIEXPORT void JNICALL Java__MyClass_doSomething (JNIEnv *, jobject, jobject, jobject, jint, jint);
Jak mogę uzyskać tablicę danych od jobject (czyli instancji ByteBuffer)?
Rodzaj powrót GetDirectBufferAddress jest void *, trzeba oddać go do jbyte *: bbuf_in = (*) (jbyte env *) -> GetDirectBufferAddress (env, buf1); // C bbuf_in = (jbyte *) env-> GetDirectBufferAddress (buf1); // C++ –
@ Error454 To jest C, nie musisz rzucać 'void *' s –
Musisz rzucić, jeśli masz -Wpedantic –