ByteBuffer
バッファとの間で読み取り/書き込みを行うネイティブ関数に(直接) を渡す必要があります。ByteBuffer
これらの操作が完了したら、通常の関数を使用して Java コードからアクセスしたいと思います。特に、バッファの現在の状態を反映する必要がありますlimit()
。position()
JNI はGetDirectBufferAddress()
基礎となるバッファーに直接アクセスするために使用するため、読み取り/書き込みが完了した後に // を呼び出す必要があると想定してflip ()
いますlimit()
。position()
しかし、私はこれを機能させることができませんでした。たとえば、C からバッファーに数バイトを読み込んで、それに応じて制限と位置を設定した後、Java からそれらのバイトを照会することはできません。バッファーの制限と位置に関する Java の考え方は、私が C コードで行ったことと一致していません。
誰かがこれの実例を教えてもらえますか? 前もって感謝します。