我有一个字节数组,我想使用JNA将它传递给C函数。 但是我只找到了使用新内存分配指针并使用写入函数来复制数组数据的示例,但对我来说这是不可接受的,因为我有大块数据。
是否有可能将我的Java数组直接传递给c库?
我想做这样的事情:
MyLib lib = Native.loadLibrary("test");
Pointer p = myByteArray; //I want to make it possible
lib.someFunction(p);
答案 0 :(得分:0)
将原始数组或Pointer
传递给内存是等效的操作,即你可以像这样映射:
public interface MyLibrary extends Library {
void someFunction(byte[] input);
void someFunction(Pointer input);
}