2 repositorios
Systems that translate managed objects into native C-style memory layouts like structs and unions.
Distinct from Virtual Memory Mappers: Focuses on the mapping of data structures for interoperability, not virtual memory page management or lifecycle tracking.
Explore 2 awesome GitHub repositories matching operating systems & systems programming · Native Memory Mappers. Refine with filters or upvote what's useful.
JNA is a foreign function interface and native memory mapper that allows Java applications to call functions in shared native libraries without writing custom JNI wrapper code. It serves as a JNI alternative framework for invoking C functions and mapping native data structures using high-level interfaces. The library distinguishes itself through its ability to translate Java objects and primitives into C-style structs, unions, and pointers for cross-platform memory exchange. On Windows, it provides a dedicated toolkit for interacting with Component Object Model objects using both early and la
Translates Java objects and primitives into C-style structs, unions, and pointers for cross-platform memory exchange.
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.
Provides high-performance memory access by mapping managed objects to native C-style memory layouts using direct pointers.