cab832eca7
JNA provides Java programs easy access to native shared libraries without writing anything but Java code - no JNI or native code is required. This functionality is comparable to Windows' Platform/Invoke and Python's ctypes.
21 lines
1.1 KiB
Text
21 lines
1.1 KiB
Text
JNA provides Java programs easy access to native shared libraries without
|
|
writing anything but Java code - no JNI or native code is required.
|
|
This functionality is comparable to Windows' Platform/Invoke and Python's ctypes.
|
|
|
|
JNA allows you to call directly into native functions using natural Java
|
|
method invocation. The Java call looks just like the call does in native code.
|
|
Most calls require no special handling or configuration; no boilerplate or
|
|
generated code is required.
|
|
|
|
JNA uses a small JNI library stub to dynamically invoke native code.
|
|
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 overhead of configuring
|
|
and building JNI code for multiple platforms. Read this more in-depth
|
|
description.
|
|
|
|
While significant attention has been paid to performance, correctness and
|
|
ease of use take priority.
|
|
|
|
In addition, JNA includes a platform library with many native functions already
|
|
mapped as well as a set of utility interfaces that simplify native access.
|