|
JNIWrapper is a Java library for calling native library functions. With JNIWrapper, you can extensively use the potential of the underlying platform (like tray icons or custom shape splash screens) with only a single native library, having the full control over the program flow on the Java side. JNIWrapper provides simplified access to native code from Java applications without using Java Native Interface (JNI.) You don't need to create a native library to make system calls or spend time on learning the low-level ins and outs of the system architecture. Native Function InvocationJNIWrapper supports both stdcall and cdecl calling conventions and multiple C/C++ data types including structures, unions, and pointers. You can perform all native function calls simultaneously from different Java threads without synchronizing them. The product supports thread-safe concurrent function invocation? High PerformanceJNIWrapper is capable of handling any large amount of data involved in interactions between the Java and native code, requiring no performance tuning on your part. JNIWrapper allows you to debug native errors on the Java side, putting program execution fully under your control. Automatic Memory ManagementAll resources allocated by JNIWrapper are released automatically. You can treat JNIWrapper variables as usual Java objects that can be picked up by the Java garbage collector. Code Generation WizardUsing the Code Generator wizard bundled with JNIWrapper, you can generate Java wrappers for a required set of C types, including structures, unions and callbacks. 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: Extensible ArchitectureYou can implement new data types or customize existing ones, taking full control over the parameter behavior. Catching Native ErrorsWhen you call a native function, JNIWrapper makes all native errors ready for debugging on the Java side, putting program execution fully under your control. Custom Search MechanismApart 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. Thread-safe Concurrent Function InvocationYou can perform all native function calls simultaneously from different Java threads without the need of synchronizing them, just as if invoking simple Java methods. Technical AdvantagesJNIWrapper has a number of technical advantages over the competitors. The most important of them are: - Comprehensive native function invocation support
JNIWrapper supports both stdcall and cdecl calling conventions and all complex C types including structures and unions. Callbacks are fully supported with any parameter and return types and both calling conventions. For unexpected cases, you can create your own types taking full control over parameter behavior. - Automatic resource management
- o All resources allocated by JNIWrapper components are released automatically when no longer required. You can treat JNIWrapper variables as ordinary objects that can be picked up by Java garbage collector.
- o JNIWrapper objects are also safe with regard to finalizers: all resources are guaranteed to be available during finalization.
- High performance
This has always been our priority. JNIWrapper has been specially tuned for performance, particularly in cases where large amounts of data are involved in the interactions. - Minimum behind-the-scenes operation
You should always be able to see and understand what is happening when they work with native-side data. This helps both to develop and debug complex interactions between Java and native code.The product is extensively used in the projects carried out by our company, which ensures its efficiency, reliability, future support, and improvement.
|