awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索博客网站地图
项目关于媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
awesome-repositories.com博客
分类

18 个仓库

Awesome GitHub RepositoriesFunction-Pointer Callbacks

Mechanisms for mapping managed methods to native memory addresses so native libraries can trigger runtime logic.

Distinct from Functional Event Callbacks: Specifically about bridging managed methods as C-style function pointers, distinct from event-based callbacks in pure managed code.

Explore 18 awesome GitHub repositories matching programming languages & runtimes · Function-Pointer Callbacks. Refine with filters or upvote what's useful.

Awesome Function-Pointer Callbacks GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • bang590/jspatchbang590 的头像

    bang590/JSPatch

    11,330在 GitHub 上查看↗

    JSPatch is a JavaScript native bridge and method swizzler that allows for the dynamic injection of logic into a hosted native environment. It functions as a cross-language data mapper and execution engine, enabling the replacement of native function pointers with JavaScript wrappers to modify application behavior at runtime. The project provides the ability to perform runtime application patching by overriding native class methods and object properties. This allows for the modification of application logic and the application of hotfixes using JavaScript code loaded from local files or remote

    Encapsulates JavaScript functions as native blocks to be executed as asynchronous callbacks by the host environment.

    Objective-C
    在 GitHub 上查看↗11,330
  • java-native-access/jnajava-native-access 的头像

    java-native-access/jna

    8,916在 GitHub 上查看↗

    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

    Enables mapping Java methods to native function pointers, allowing external libraries to trigger logic within the JVM.

    Java
    在 GitHub 上查看↗8,916
  • focus-creative-games/hybridclrfocus-creative-games 的头像

    focus-creative-games/hybridclr

    7,863在 GitHub 上查看↗

    HybridCLR is a hybrid C# execution engine and assembly loader designed for Unity. It provides a system for hot-updating C# logic across all platforms at runtime without requiring the application to be rebuilt or reinstalled. The project is distinguished by its mixed-mode execution, which runs unmodified code at native speed while using a high-performance interpreter for updated functions. It includes a generic type resolver that allows hot-updated code to use generic classes and functions regardless of whether they were pre-instantiated in the main binary. To protect proprietary source code,

    Facilitates high-speed data exchange between the managed runtime and native languages via a specialized bridge.

    C++csharpframeworkhot
    在 GitHub 上查看↗7,863
  • blockskit/blockskitBlocksKit 的头像

    BlocksKit/BlocksKit

    6,837在 GitHub 上查看↗

    BlocksKit is a low-level utility library for Apple platform development, specifically designed for managing the execution flow and memory of blocks within macOS and iOS applications. It provides a collection of helper functions to simplify the use of blocks in Objective-C and C, reducing boilerplate code and addressing inherent technical limitations. The library focuses on bridging Objective-C blocks with legacy C-based APIs by providing compatible wrapper structures and function-pointer emulation. It enables the passing of blocks through system interfaces that require strict C-style callback

    Maps block invocations to standard function pointers to satisfy strict type requirements in low-level system interfaces.

    Objective-C
    在 GitHub 上查看↗6,837
  • dtolnay/cxxdtolnay 的头像

    dtolnay/cxx

    6,664在 GitHub 上查看↗

    CXX is a code generator that produces a safe, zero-overhead FFI bridge between Rust and C++. It lets functions and data types from either language be used directly in the other, with static type safety enforced at compile time and no copying, serialization, or runtime checks across the boundary. The bridge supports the full range of cross-language interactions: Rust can call C++ functions and use C++ types, and C++ can call Rust functions and use Rust types. Standard library types like strings, vectors, and smart pointers are mapped automatically between the two languages, while opaque types

    Transfers Rust closures as function pointers to C++ for callback-based event handling.

    Rust
    在 GitHub 上查看↗6,664
  • balloonwj/cppguideballoonwj 的头像

    balloonwj/CppGuide

    6,030在 GitHub 上查看↗

    CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom

    Documents registering function pointers for decoupled coordination between kernel subsystems.

    在 GitHub 上查看↗6,030
  • carp-lang/carpcarp-lang 的头像

    carp-lang/Carp

    5,815在 GitHub 上查看↗

    Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces

    Provides a mechanism to obtain void pointers to functions for low-level interoperability.

    Haskellfunctionalfunctional-programminggame-development
    在 GitHub 上查看↗5,815
  • antirez/sdsantirez 的头像

    antirez/sds

    5,486在 GitHub 上查看↗

    sds 是一个 C 语言动态字符串库,为堆分配的字符串提供了内存管理封装。它通过显式跟踪字符串长度来实现二进制安全存储,从而允许库处理数据中的空字符。 该库的内存架构支持可互换的分配和释放函数指针,便于集成自定义内存管理器。它利用存储在头部的长度信息实现常数时间的长度获取,并维护以空字符结尾的缓冲区填充,以确保与标准 C 字符串函数的兼容性。 该工具包涵盖了广泛的字符串操作功能,包括拼接、分词、连接和范围提取。它还提供了用于原地缓冲区修改的实用程序(如修剪和裁剪),并包含优于标准打印函数的优化字符串格式化方案。

    Provides interchangeable function pointers for allocation and freeing to enable custom memory managers.

    C
    在 GitHub 上查看↗5,486
  • rhaiscript/rhairhaiscript 的头像

    rhaiscript/rhai

    5,453在 GitHub 上查看↗

    Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang

    Provides mechanisms to map script-defined functions to native memory addresses so the host application can trigger runtime logic.

    Rustembeddedembedded-scripting-languageno-std
    在 GitHub 上查看↗5,453
  • fzyzcjy/flutter_rust_bridgefzyzcjy 的头像

    fzyzcjy/flutter_rust_bridge

    5,106在 GitHub 上查看↗

    flutterrustbridge is a code generation tool that automatically creates type‑safe Dart bindings for Rust functions, enabling direct cross‑language calls between Flutter and a Rust backend. It provides an async FFI adapter that transforms synchronous Rust functions into Dart async methods with background thread management, a cross‑language object manager that wraps persistent Rust structs as Dart objects preserving state across calls, and trait object interop that converts Rust traits into Dart abstract classes for seamless bidirectional use. The project handles the full lifecycle of integrat

    Enables Rust code to invoke Dart callbacks, supporting bidirectional communication between the two languages.

    Dartbindgendartffi
    在 GitHub 上查看↗5,106
  • bytedeco/javacppbytedeco 的头像

    bytedeco/javacpp

    4,697在 GitHub 上查看↗

    JavaCPP 是一个 JNI C++ 桥接器和外部函数接口,提供绑定生成器、原生库加载器和原生内存管理器。它自动化了在原生 C++ 头文件和共享库周围创建 Java 包装器的过程,以实现两种语言之间的互操作性。 该项目具有一个 C++ 绑定生成器,可解析头文件以自动生成调用原生函数所需的胶水代码和接口。它包含一个原生库加载器,可定位并从类路径中提取特定平台的二进制文件到本地缓存中以供运行时执行。 该系统通过直接指针映射和资源跟踪来管理高性能原生内存访问,以防止内存泄漏。它处理 C++ 数据结构的复杂类型映射,并支持原生回调映射以将函数指针链接到 Java 方法。 该工具集允许使用 C++ 或汇编实现替换托管方法,以优化执行时间并减少资源开销。

    Links native function pointers or virtual functions to Java methods, allowing C++ code to trigger runtime logic.

    Javacc-plus-pluscpp
    在 GitHub 上查看↗4,697
  • asterinas/asterinasasterinas 的头像

    asterinas/asterinas

    4,678在 GitHub 上查看↗

    Asterinas 是一个内存安全的操作系统内核,旨在防止数据竞争和内存损坏。它作为一个兼容 Linux-ABI 的内核,能够运行现有的 Linux 二进制文件和容器工作负载,同时提供声明式的操作系统分发模型。 该项目的特色在于充当虚拟机容器宿主机和机密计算客户机操作系统,使其能够在 Intel TDX 等硬件隔离的可信执行环境(TEE)中运行。它通过隔离不安全底层操作实现了最小化的可信计算基(TCB),并将核心内核机制与特定策略实现分离开来。 该系统涵盖了广泛的能力,包括物理和虚拟内存管理、对称多处理(SMP),以及针对各种 CPU 架构的硬件抽象。它还包括对安全容器运行时的支持、一套全面的网络和 Socket 原语,以及用于内核编译和仿真的专用工具链。 该项目支持在 x86-64、RISC-V 64 和 LoongArch 64 平台上进行多架构部署。

    Implements kernel-level callback registration for coordinating subsystems such as logging and power management.

    Rustkernelosrust
    在 GitHub 上查看↗4,678
  • ballercat/waltballercat 的头像

    ballercat/walt

    4,639在 GitHub 上查看↗

    Walt 是一种转译器和类型化语言,可将类似 JavaScript 的语法转换为 WebAssembly 二进制格式。它作为开发浏览器和运行时高性能逻辑的工具链,通过将类型化源代码翻译为 WebAssembly 文本格式来实现。 该项目包含一个与打包器集成的加载器,可在构建过程中自动重新编译源文件。它提供了一个线性内存管理器,用于在连续堆中定义自定义数据布局、结构体和内存分配器。 该语言支持定义的函数签名、数值类型,以及导出函数和全局变量或从宿主环境导入外部函数的能力。它通过二进制内存偏移量实现了函数闭包、函数指针和结构化数据组织的使用。

    Implements callbacks by mapping function references to indices within a WebAssembly table.

    JavaScriptcompilerjavascriptwebassembly
    在 GitHub 上查看↗4,639
  • node-ffi/node-ffinode-ffi 的头像

    node-ffi/node-ffi

    4,322在 GitHub 上查看↗

    node-ffi 是一个 Node.js 的外部函数接口库,无需编写手动 C++ 绑定即可调用原生 C 动态库中的函数。它作为一个系统,用于将共享对象和 DLL 加载到进程内存中,将 JavaScript 值转换为二进制表示,并在运行时执行外部二进制文件。 该项目利用 libffi 库的包装器来构建调用帧并使用动态参数执行原生函数。它的特色在于提供了一个用于分配原始指针的原生内存管理器,以及一个将复杂 C 结构映射到 JavaScript 对象的映射系统。 该工具包涵盖了广泛的原生互操作性功能,包括自动数据类型转换和创建可执行内存存根,允许原生库触发 JavaScript 回调。为了保持主线程响应能力,它支持异步执行模型,将原生函数调用卸载到单独的线程池中。

    Creates executable memory stubs that map JavaScript functions as C-style function pointers for native library callbacks.

    JavaScript
    在 GitHub 上查看↗4,322
  • libffi/libffilibffi 的头像

    libffi/libffi

    4,281在 GitHub 上查看↗

    libffi 是一个外部函数接口库,支持在运行时调用其他语言编写的函数。它作为一个多架构 ABI 封装器和动态调用帧生成器,允许根据参数类型和返回值的运行时描述来执行外部函数。 该项目提供了一个可移植接口,用于处理不同硬件架构和操作系统上的各种调用约定。它包括可执行闭包分配功能,允许外部代码通过存储在可执行内存中的跳转表在宿主语言内触发回调。 除了函数调用外,该库还管理底层汇编存根,并利用调用计划缓存来减少将类型映射到寄存器的开销。它还包括一个二进制版本脚本转换器,用于在不同链接器格式之间转换基于符号的版本脚本。

    Creates executable closures that allow native libraries to trigger logic and functions within the host language.

    C
    在 GitHub 上查看↗4,281
  • mozilla/uniffi-rsmozilla 的头像

    mozilla/uniffi-rs

    4,326在 GitHub 上查看↗

    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

    Exports traits so foreign code can pass callback implementations into Rust functions.

    Rustffi-layerrust-crate
    在 GitHub 上查看↗4,326
  • rusqlite/rusqliterusqlite 的头像

    rusqlite/rusqlite

    4,058在 GitHub 上查看↗

    Rusqlite is an embedded database interface and relational database driver that provides a client library for interacting with SQLite. It functions as an SQL query wrapper, enabling the management of local file-based or in-memory databases through a safe interface. The library allows for the extension of native database capabilities by implementing custom scalar functions, collations, and virtual tables. It also supports the embedding of the database engine directly into the application binary to remove external library dependencies. The project covers a broad range of capabilities including

    Allows registering native application functions as callbacks that the database engine invokes during query execution.

    Rustbindingsrustsqlite
    在 GitHub 上查看↗4,058
  • oils-for-unix/oilsoils-for-unix 的头像

    oils-for-unix/oils

    3,288在 GitHub 上查看↗

    Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and Bash compatibility. It functions as a structured data shell, integrating JSON and J8 formats to manage complex data without relying on string parsing. The system is distinguished by a C++ transpiled interpreter that converts a subset of Python source code into strongly typed C++ for high-performance execution. It features a garbage-collected typed runtime that supports prototype-based polymorphism, lexical closures, and reference-based variable mutation. To decouple shell logic

    Provides the ability to send blocks of code as arguments to procedures for implementing callbacks.

    Python
    在 GitHub 上查看↗3,288
  1. Home
  2. Programming Languages & Runtimes
  3. Function-Pointer Callbacks

探索子标签

  • Custom Allocator HooksMechanisms for replacing standard memory allocation functions with custom implementation pointers. **Distinct from Function-Pointer Callbacks:** Distinct from Function-Pointer Callbacks: focuses on memory management hooks rather than runtime logic callbacks
  • Kernel Callback RegistrationRegistering function pointers that are invoked when a specific condition occurs, enabling decoupled subsystem coordination. **Distinct from Function-Pointer Callbacks:** Distinct from Function-Pointer Callbacks: focuses on kernel-level callback registration for subsystem coordination, not managed-to-native bridging.
  • Managed-to-Native Callbacks1 个子标签Enables native code to invoke callbacks defined in managed code, supporting bidirectional communication. **Distinct from Function-Pointer Callbacks:** Distinct from Function-Pointer Callbacks: focuses on Dart callbacks invoked from Rust, not general C-style function pointers.
  • Procedure Callback BlocksPasses blocks of code as arguments to procedures to define custom behavior. **Distinct from Managed-to-Native Callbacks:** Focuses on passing code blocks as callbacks within a shell runtime, not managed-to-native language bridges.