3 repositorios
Mechanisms for calling native functions via memory addresses (pointers) found within native structures.
Distinct from Function-Pointer Callbacks: Distinct from Function-Pointer Callbacks: callbacks allow native code to call into Java; pointer invocation allows Java to call into native code using a pointer.
Explore 3 awesome GitHub repositories matching programming languages & runtimes · Native Function Pointer Invocations. 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
JNA supports calling functions referenced by pointers found within native structures by automatically generating proxy wrappers.
Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ
Calls logic directly by name or indirectly via pointers with specified return types.
Rhai es un motor de scripting embebido y lenguaje de tipado dinámico diseñado para integrarse en aplicaciones Rust. Funciona como un compilador de árboles de sintaxis abstracta (AST) y una capa de interoperabilidad nativa, permitiendo a los desarrolladores mapear tipos y funciones de Rust en un entorno de scripting para comunicación bidireccional. El proyecto sirve como framework para crear lenguajes específicos de dominio (DSL) personalizables. Permite definir operadores, sintaxis y entornos de ejecución restringidos, facilitando la creación de lenguajes especializados con conjuntos funcionales a medida. El motor cubre una amplia gama de capacidades, incluyendo sandboxing con límites de recursos para una ejecución segura, organización modular del código y procesamiento integral de datos para tipos numéricos, de cadena y binarios. También proporciona herramientas para la manipulación de AST, serialización del estado de ejecución y observabilidad en tiempo de ejecución mediante la inspección del stack de llamadas y interfaces de depuración. Está diseñado para despliegue multiplataforma en cualquier CPU o sistema operativo compatible con el compilador nativo.
Provides mechanisms for calling native functions via memory addresses mapped to script-accessible pointers.