*** Welcome to piglix ***

Java Native Access

Java Native Access
Original author(s) Todd Fast, Timothy Wall, Liang Chen
Initial release May 9, 2007 (2007-05-09)
Stable release
4.4.0 / March 15, 2017; 2 months ago (2017-03-15)
Development status Active
Written in C and Java
Operating system Windows, OS X, Android, AIX, FreeBSD, Linux, OpenBSD, Solaris, Windows Mobile
Platform Java 1.4 or later (for JNA 3.5.2 or earlier), Java 1.6 for JNA 4.0.0 and later
Size 1.83 MB (archived)
Type Software Library
License LGPL version 2.1 or later and (from version 4.0 onward) the Apache Software License, version 2.0
Website github.com/java-native-access/jna

Java Native Access (JNA) is a community-developed library that provides Java programs easy access to native shared libraries without using the Java Native Interface. JNA's design aims to provide native access in a natural way with a minimum of effort. No boilerplate or generated glue code is required.

The JNA library uses a small native library called foreign function interface library (libffi) to dynamically invoke native code. The JNA library uses native functions allowing code to load a library by name and retrieve a pointer to a function within that library, and uses libffi library to invoke it, all without static bindings, header files, or any compile phase. The developer uses a Java interface to describe functions and structures in the target native library. This makes it quite easy to take advantage of native platform features without incurring the high development overhead of configuring and building JNI code.

JNA is built and tested on Mac OS X, Microsoft Windows, FreeBSD / OpenBSD, Solaris, Linux, AIX, Windows Mobile, and Android. It is also possible to tweak and recompile the native build configurations to make it work on most other platforms that run Java.


...
Wikipedia

...