私はこのJavaメソッドを持っています:
public static native void processBuffer(ByteBuffer bb);
ジャバで
JNIEXPORT void JNICALL Java_com_lan_factorial_IssmJni_processBuffer
(JNIEnv *env, jclass klass , jobject buf)
完璧に働く
Jni オンロードで
static JNINativeMethod method_table[] = {
{"fac" , "(J)J" , (void *) factorial},
{"getBuffer", "()[D" , (void *) getBufferNative},
//{"processBuffer", "(Ljava/nio/ByteBuffer)V", (void *) fillBuffer}};
上記の javah から生成されるメソッドに対応する最後のメソッドを除いて、この表の他のメソッドは機能します。もちろん、JNI onload を実行すると、fillBuffer というメソッドが呼び出されます。
javah が機能するのに jni_onload が機能しない理由を誰かが説明できますか。私は何か間違ったことをしましたか?jni_onload を使用する他の方法があるため、javah から離れたいと考えています。
ありがとう