ByteBuffer
을 버퍼에서 읽고 쓰는 원시 함수에 전달해야합니다. 이러한 작업이 완료되면 정규 함수를 사용하여 Java 코드에서 ByteBuffer
에 액세스하고 싶습니다. 특히 limit()
및 position()
은 버퍼의 현재 상태를 반영해야합니다.JNI에서 ByteBuffer 조작
JNI 직접, 내가 읽기/쓰기를 수행하고 이후 나는 flip()
/limit()
/position()
를 호출해야합니다 가정입니다 기본 버퍼에 액세스 할 수 GetDirectBufferAddress()
를 사용하기 때문에. 그러나, 나는이 일을 할 수 없었다. 예를 들어, C에서 버퍼로 몇 바이트를 읽고 그에 따라 제한 및 위치를 설정 한 후에 Java에서 해당 바이트를 쿼리 할 수 없습니다. 버퍼 한계와 위치에 대한 자바의 생각은 내가 C 코드에서했던 것과 일치하지 않는다.
아무도이 작업 예제로 나를 가리킬 수 있습니까? 미리 감사드립니다.
정상적으로 작동해야합니다. 그게 전부입니다. 어떤 위치 값과 한계 값을 설정하고 있으며, Java에서 어떻게 표시됩니까? – EJP