제목에 이미 말했듯이, int []를 Java의 ByteBuffer로 변환해야합니다. 이 작업을 수행 할 수있는 권장 방법이 있습니까?int []를 Java에서 ByteBuffer로 변환하는 방법?
JNI에서 ByteBuffer를 C++로 전달하려고합니다. 이 경우 특정 엔디안 변환과 관련하여 무엇을주의해야합니까?
편집 : 죄송합니다. 실수로 ByteArray를 작성했지만 ByteBuffer 유형을 의미했습니다.
편집 : 샘플 코드 :
나는 불필요한 부분을 제거했습니다. C++에서 JNI를 통해 Java 함수를 호출하여 리소스를로드하고 바이트 버퍼로 C++로 다시 전달합니다. 그것은 다양한 다른 리소스와 함께 작동합니다. 이제 "int []"가 있고 그것을 bytebuffer로 변환하는 우아한 방법이 있는지 또는 oldfashioned 방법으로 이동하여 for 루프에 채워야하는지 알고 싶습니다.
ByteBuffer resource= null;
resource = ByteBuffer.allocateDirect((x*y+2)*4).order(ByteOrder.nativeOrder());
.
.
ByteBuffer GetResourcePNG(String text)
{
.
.
int [] pix;
map.getPixels(pix,0,x,0,0,x,y);
return resource;
}
는 그 거 맞아? 즉, ByteBuffer는 추상 클래스입니다. 필요한 정확한 유형은 무엇입니까? 몇 가지 샘플 코드를 제공하십시오. –