JNA (Java Native Access). It gives Java programs easy access to native shared libraries (DLLs (Dynamic Link Libraries) on Windows) without writing anything but Java code — no JNI (Java Native Interface) or native code is required. Access is dynamic at runtime without code generation. You might think of it as a multi-platform JNI library to let you get at system functions that standard Java does not.
JNA allows you to call directly into native functions using natural Java method invocation. The Java call looks just like it does in native code. Most calls require no special handling or configuration; no boilerplate or generated code is required.
The JNA library uses a small native 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 easy to take advantage of native platform features without incurring the high overhead of configuring and building JNI code for multiple platforms.
While some attention is paid to performance, correctness and ease of use take priority.
JNA has been built and tested on OSX (ppc, x86, x86_64), Linux (x86, amd64), FreeBSD/OpenBSD (x86, amd64), Solaris (x86, amd64, sparc, sparcv9) and Windows (x86, amd64). It has also been built for windows/mobile and Linux/ppc64, although those platforms are not included in the distribution.
It supports Primitive Types, Pointers, Strings, Wide (Unicode-16) Strings, Primitive Arrays, Buffers/Memory Blocks, Callbacks/Function Pointers, Variable Argument Lists (Varargs), Structures, Unions and Java Objects. It also has a number of sample apps to show how to use these more basic tools.
available on the web at:
optional Replicator mirror
Please email your feedback for publication, letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : . If you want your message, your name or email kept confidential, not considered for public posting, please explicitly specify that. Unless you state otherwise, I will treat your message as a letter to the editor that I may or may not publish in the feedback section. After that, it will be too late to retract it. If you disagree with something I said, especially when sending an ad-hominem attack, a rant composed mainly of obscenities or a death threat, please quote the offending passage and cite the web page where you found it, tell me why you think it is wrong, and, if possible, provide some supporting evidence. I can’t very well fix erroneous or ambiguous text if I can’t find it.
Your face IP:[188.8.131.52]
|Feedback||You are visitor number 11.|