JNIWrapper enables access to native libraries and components from Java code without using JNI.The technology supports Windows platforms, Mac OS X (Mac PPC/Intel), multiple Linux platforms, all AIX versions and Solaris 10. JNIWrapper provides a number of technical advantages:
JNIWrapper is capable of handling any large amount of data involved in interactions between the Java and native code, requiring no tuning on your side.
All resources allocated by JNIWrapper are released automatically when no longer needed. You can treat JNIWrapper variables as usual Java objects that can be picked up by the Java garbage collector. Besides, JNIWrapper objects are safe with regard to finalizers: all resources are guaranteed to be available during finalization.
JNIWrapper supports both stdcall and cdecl calling conventions and multiple C/C++ data types including structures, unions, and pointers. Callbacks are fully supported with any parameter and return types and both calling conventions.
stdcall
cdecl
You can implement new data types or customize existing ones, taking full control over the parameter behavior.
JNIWrapper 3.8.3. See release notes
By downloading and using JNIWrapper you agree to be bound by the terms and conditions of the Product License Agreement.
Using the Code Generator wizard bundled with JNIWrapper, you can generate Java wrappers for a required set of C types, including structures, unions, and callbacks.
When you call a native function, JNIWrapper makes all native errors ready for debugging on the Java side, putting program execution fully under your control.
Apart from a default mechanism to find and load a native library, JNIWrapper provides a way to customize it. Besides, it makes it possible to load native libraries from JAR files.
You can perform all native function calls simultaneously from different Java threads without the need of synchronizing them, just as if invoking simple Java methods.