3 Repos
Tools that parse native C headers to automatically produce Java JNI bindings with type conversions.
Distinct from Native Header Generators: Distinct from Native Header Generators: generates Java bindings from C headers, not C++ header files for Rust.
Explore 3 awesome GitHub repositories matching programming languages & runtimes · C Header-to-Java Binding Generators. Refine with filters or upvote what's useful.
SWIG is a tool that generates wrapper code to expose C and C++ libraries to a wide range of higher-level programming languages. It reads annotated C/C++ header files and produces language-specific bindings from a single interface definition, supporting languages such as Python, Java, Ruby, C#, Perl, and many others. The generated wrapper code is free from the project's GPL license, allowing users to distribute it under their own terms. The tool handles modern C++ features including templates, namespaces, smart pointers, and constructs up to C++20 through specialized parsing and code generatio
Produces Java Native Interface wrappers allowing Java applications to invoke C/C++ library routines.
LWJGL is a cross-platform library that provides Java bindings to native APIs for graphics, audio, compute, windowing, and input. It enables Java applications to access low-level hardware-accelerated capabilities such as OpenGL and Vulkan rendering, OpenAL 3D audio, OpenCL GPU compute, and GLFW windowing and input handling. Under the hood, LWJGL dynamically resolves native function pointers at runtime, loads platform-specific shared libraries, and uses generated JNI bindings to bridge Java and native code. It offers explicit memory management through direct buffer access and stack-allocated me
Ships a tool that parses C headers to auto-generate Java native bindings and JNI wrappers.
JavaCPP ist eine JNI-C++-Brücke und ein Foreign Function Interface, das einen Binding-Generator, einen Native-Library-Loader und einen Native-Memory-Manager bereitstellt. Es automatisiert die Erstellung von Java-Wrappern um native C++-Header und Shared-Libraries, um Interoperabilität zwischen beiden Sprachen zu ermöglichen. Das Projekt bietet einen C++-Binding-Generator, der Header-Dateien parst, um automatisch den notwendigen Glue-Code und die Interfaces für den Aufruf nativer Funktionen zu produzieren. Es enthält einen Native-Library-Loader, der plattformspezifische Binärdateien vom Classpath in einen lokalen Cache für die Laufzeitausführung lokalisiert und extrahiert. Das System verwaltet hochperformanten nativen Speicherzugriff durch direktes Pointer-Mapping und Ressourcen-Tracking, um Memory-Leaks zu verhindern. Es handhabt komplexes Type-Mapping für C++-Datenstrukturen und unterstützt natives Callback-Mapping, um Funktionszeiger mit Java-Methoden zu verknüpfen. Das Toolset ermöglicht den Ersatz verwalteter Methoden durch C++- oder Assembly-Implementierungen, um die Ausführungszeit zu optimieren und den Ressourcen-Overhead zu reduzieren.
Parses C++ header files to automatically generate Java wrapper classes and the corresponding JNI glue code.