JNAerator is a free and open source Java-based utility that parses C, C++, Objective-C headers and generates the corresponding JNA and Rococoa Java interfaces.
JNAerator helps Java programmers access native libraries transparently, with full IDE support and little to no hand-tweaking.
Here are some key features of "JNAerator":
· Parses C, C++, Objective-C headers
· Creates wrappers for C / C++ wrappers for BridJ, and C wrappers for JNA,
· Objective-C wrappers for Rococoa
· Parses Visual Studio solutions
· Retains original comments and converts them to JavaDocs
Requirements:
· Java
What's New in This Release: [ read full changelog ]
· Fixed infinite loops in simple typedefs (issue #288)
· Fixed some -beautifyNames cases (issue #315)
· Fixed parsing of some C++ templates (including template constructors)
· Fixed "long long" regression
· Fixed JNAeratorMojo.config documentation (issue #330)
· Fixed long / long long / short pointer function return types
· Fixed generation of BridJ C++ constructors
· Fixed enum names that collide with Java identifiers (issue #334)
· Added raw bindings generation for BridJ
· Added parsing of 'using' C++ statements
· Added TypeRef.resolvedJavaIdentifier
· Added parser support for `complex double` (cf. complex.h)
· Added test for BridJ raw signatures
· Moved to ECJ 3.7.2
· Moved to JNA 3.4.0
· Refactored type resolution and conversion
· Rationalized CompilerUtils classpath + bootclasspath
· Removed C++ name mangling feature for JNA target runtime (was simplistic anyway)