Skip to content


Subversion checkout URL

You can clone with
Download ZIP
17 lines (10 sloc) 0.851 kb

Using Pointers and Arrays

Primitive array arguments (including structs) are represented by their corresponding Java types. For example:

// Original C declarations
void fill_buffer(int *buf, int len);
void fill_buffer(int buf[], int len); // same thing with array syntax

// Equivalent JNA mapping
void fill_buffer(int[] buf, int len);

NOTE: If the parameter is to be used by the native function outside the scope of the function call, you must use Memory or an NIO Buffer. The memory provided by a Java primitive array will only be valid for use by the native code for the duration of the function call.

Arrays of C strings (the char* argv[] to the C main, for example), may be represented by String[] in Java code. JNA will automatically pass an equivalent array with a NULL final element.

Jump to Line
Something went wrong with that request. Please try again.