3 repositorios
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 es un puente JNI C++ e interfaz de funciones extranjeras que proporciona un generador de bindings, un cargador de librerías nativas y un gestor de memoria nativa. Automatiza la creación de wrappers de Java alrededor de cabeceras C++ nativas y librerías compartidas para permitir la interoperabilidad entre ambos lenguajes. El proyecto cuenta con un generador de bindings C++ que analiza archivos de cabecera para producir automáticamente el código de pegamento (glue code) necesario y las interfaces para llamar a funciones nativas. Incluye un cargador de librerías nativas que localiza y extrae binarios específicos de la plataforma desde el classpath a una caché local para su ejecución en tiempo de ejecución. El sistema gestiona el acceso a memoria nativa de alto rendimiento mediante mapeo directo de punteros y seguimiento de recursos para prevenir fugas de memoria. Maneja el mapeo de tipos complejos para estructuras de datos C++ y soporta el mapeo de callbacks nativos para enlazar punteros de función a métodos de Java. El conjunto de herramientas permite el reemplazo de métodos gestionados con implementaciones en C++ o ensamblador para optimizar el tiempo de ejecución y reducir la sobrecarga de recursos.
Parses C++ header files to automatically generate Java wrapper classes and the corresponding JNI glue code.