JNAerator 0.11

Parse C headers with this component.
JNAerator is a handy, easy to use, simple tool designed to parse C and Objective-C headers and generates the corresponding JNA and Rococoa Java interfaces (it also has a very limited support for C++).

Main features:

  • Handles most of ANSI-C (not everything yet, though), including (but not restricted to) :
  • structs & unions (including bit fields)
  • functions and callbacks (including varargs)
  • typedefs, macro definitions, constants & enums, global variables...
  • generates C++ name mangling for functions & static methods : no need to declare functions in extern "C" {...} blocks (note, however, that most C++ constructs will be skipped gracefully). Only supports GCC4 and MSVC9's mangling schemes (Intel C++ Compiler is on the works).
  • embeds a full-fledged C preprocessor (the great thirdparty Anarres JCPP library, under the Apache 2.0 license)
  • parses Visual Studio solutions (*.sln) and projects (*.vcproj) files to retrieve source files, preprocessor symbols and include paths
  • knows about standard compilers and SDKs setups (defaults to know where to find core headers in Visual Studio, frameworks under Mac OS X… GCC not handled automatically yet but paths can be added to command line)
  • converts parsed comments to JavaDocs
  • provides multiple choices of function signatures where possible.
  • supports JNA's two wrapping modes : interface mapping mode and new experimental direct calling mode (-direct switch)
  • generates complete Objective-C mappings for use with Rococoa :
  • may analyze many frameworks at the same time
  • handles all methods added to a class by parsed protocols
  • parses BridgeSupport files, either as a primary source of information or as a complement. BridgeSupport files can be provided in command line or will be fetched automatically when specifying a -framework SomeFramework argument.
  • Supports DLL symbols extraction (-scanSymbols switch), demangling and parsing on Windows (very experimental, will only yield interesting and usable results for C++ functions - not methods, as neither fastcall nor thiscall are supported so far).

last updated on:
May 13th, 2014, 12:33 GMT
file size:
6.5 MB
developed by:
Olivier Chafik
license type:
operating system(s):
Windows All
C: \ Programming \ Other Programming Files


In a hurry? Add it to your Download Basket!

user rating



Rate it!
1 Screenshot
JNAerator - JNAerator can be opened in your command line enabling you to access the application's options.
What's New in This Release:
  • 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
read full changelog

Add your review!