2 repositorios
Annotating Rust functions and traits with export macros to expose them across FFI without a separate definition file.
Distinct from Rust User-Defined Functions: Distinct from Rust User-Defined Functions: focuses on FFI export macros, not SQL UDF execution.
Explore 2 awesome GitHub repositories matching development tools & productivity · FFI Export Macros. Refine with filters or upvote what's useful.
wasm-bindgen es un generador de bindings y capa de interoperabilidad diseñada para mapear tipos de datos y funciones a través del límite entre WebAssembly y JavaScript. Funciona como una interfaz de función extranjera que sintetiza el boilerplate necesario para permitir la comunicación bidireccional entre Rust y el runtime del navegador. El proyecto genera código de pegamento y envoltorios que automatizan la conversión de tipos complejos, permitiendo que las funciones de Rust se exporten como módulos de JavaScript y que las APIs del navegador se importen a Rust. Utiliza macros procedimentales para definir estas interfaces y sintetiza bindings basados en definiciones de tipos de Rust. El sistema gestiona la memoria a través del paso de punteros de memoria lineal y maneja el intercambio de recursos utilizando manejadores de memoria gestionados por JavaScript. Se basa en una convención de llamada compatible con la ABI de C para pasar enteros primitivos y flotantes entre el módulo y el host.
Uses procedural macros to annotate Rust functions and types for export to the JavaScript environment.
uniffi-rs is a Rust FFI binding generator and multi-language binding tool. It functions as an automated binding scaffolder that creates type-safe foreign function interfaces and native wrappers for Rust libraries in languages such as Swift, Kotlin, and Python. The project provides a system for cross-language interface definition, allowing functions and data structures to be specified in a shared format to ensure consistent API signatures across platforms. It further serves as an FFI memory management layer, handling object lifetimes and thread safety when sharing state between Rust and foreig
Annotates functions and traits with export macros to expose them across FFI without a separate definition file.