2013-08-07 1 views
1

바이트 배열이 있고 JNA를 사용하여 C 함수에 전달하려고합니다. 그러나 새로운 메모리를 사용하여 포인터를 할당하고 배열 데이터를 복사하는 함수를 사용한 예제를 찾았지 만 큰 데이터 블록이 있기 때문에 허용되지 않습니다.부호없는 char에 대한 JNA 포인터 *

자바 배열을 C 라이브러리에 직접 전달할 수 있습니까?

MyLib lib = Native.loadLibrary("test"); 
Pointer p = myByteArray; //I want to make it possible 
lib.someFunction(p); 

답변

0

이 같은 매핑 할 수 있습니다 즉 원시적 배열 또는 메모리에 Pointer있는 해당 작업, 전달 :

public interface MyLibrary extends Library { 
    void someFunction(byte[] input); 
    void someFunction(Pointer input); 
} 

나는 이런 일을하고 싶지