JNA从入门到精通-使用指针和数组

使用指针和数组

原始数组参数(包括结构)由它们对应的 Java 类型表示。例如:

//原始 C 声明
void  fill_buffer ( int *buf, int len);
void  fill_buffer ( int buf[], int len); //与数组语法相同
// 等效的 JNA 映射
void  fill_buffer ( int[] buf , int  len );

注意:如果参数要被函数调用范围之外的本机函数使用,则必须使用内存或 NIO 直接缓冲区。Java 原始数组提供的内存仅在函数调用期间由本机代码使用有效。

C 字符串数组(例如Cmain方法 char* argv[])可以用String[] Java 代码表示。JNA 将自动传递具有NULL最终元素的等效数组。

你可能感兴趣的:(JNA从入门到精通-使用指针和数组)