awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
node-ffi avatar

node-ffi/node-ffi

0
View on GitHub↗
4,322 estrellas·400 forks·JavaScript·MIT·4 vistas

Node Ffi

node-ffi es una biblioteca de interfaz de funciones externas (FFI) para Node.js que permite llamar a funciones desde bibliotecas dinámicas nativas en C sin escribir bindings manuales en C++. Funciona como un sistema para cargar objetos compartidos y DLLs en la memoria del proceso, traduciendo valores de JavaScript a representaciones binarias y ejecutando binarios externos en tiempo de ejecución.

El proyecto utiliza un wrapper alrededor de la biblioteca libffi para construir marcos de llamada y ejecutar funciones nativas con argumentos dinámicos. Se distingue por proporcionar un gestor de memoria nativo para asignar punteros crudos y un sistema de mapeo que conecta estructuras complejas de C con objetos de JavaScript.

El kit de herramientas cubre una amplia gama de capacidades de interoperabilidad nativa, incluyendo la traducción automática de tipos de datos y la creación de stubs de memoria ejecutables que permiten a las bibliotecas nativas activar callbacks de JavaScript. Para mantener la capacidad de respuesta del hilo principal, admite un modelo de ejecución asíncrono que descarga las llamadas a funciones nativas a un pool de hilos separado.

Features

  • Dynamic Library Function Executions - Provides the core ability to load external shared objects and execute native C functions directly from JavaScript.
  • Foreign Function Interfaces - Provides a comprehensive interface and binding layer for seamless communication between JavaScript and native libraries.
  • Memory-Mapped Data Structures - Connects complex C data structures to JavaScript objects for efficient reading and writing of structured memory blocks.
  • C-to-JavaScript Type Mappings - Provides systems for converting data types specifically between C and JavaScript for memory-compatible function calls.
  • C Struct Mappings - Maps complex C structures and memory blocks into JavaScript objects for reading and writing structured memory.
  • Dynamic Library Loading - Loads external shared objects or DLLs into the process memory space at runtime via system call interfaces.
  • Raw Memory Allocation - Provides a low-level interface for allocating raw contiguous memory buffers and manipulating C-style pointers.
  • Foreign Function Interface Calls - Executes functions from shared libraries by mapping JavaScript types to native C equivalents using libffi.
  • Function-Pointer Callbacks - Creates executable memory stubs that map JavaScript functions as C-style function pointers for native library callbacks.
  • Native C-JavaScript Bridges - Provides an interface designed for data exchange and function calls between native C/C++ code and JavaScript.
  • Native Library Wrappers - Wraps the libffi library to construct native call frames and execute functions with dynamic arguments.
  • Node.js Foreign Function Interfaces - A library for calling functions from native C dynamic libraries directly within Node.js without writing manual C++ bindings.
  • Pointer-Based Memory Access - Implements direct manipulation and extraction of data from raw pointers to handle C structs across the language boundary.
  • Native Library Integration - Allows calling functions from external C or C++ dynamic libraries directly within Node.js without manual glue code.
  • Dynamic Library Loaders - Loads shared objects and DLLs into process memory to execute external binaries at runtime.
  • Native Callbacks - Maps JavaScript functions to C-style function pointers, allowing native libraries to trigger logic within the runtime.
  • Asynchronous Native Calls - Offloads native function execution to a separate thread pool to prevent blocking the Node.js main event loop.
  • Native Callback Stubs - Creates function pointers in memory that allow native libraries to trigger JavaScript callbacks.
  • Worker Thread Patterns - Offloads native function calls to a separate thread pool to prevent blocking the JavaScript main event loop.

Historial de estrellas

Gráfico del historial de estrellas de node-ffi/node-ffiGráfico del historial de estrellas de node-ffi/node-ffi

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Node Ffi

Proyectos open-source similares, clasificados según cuántas características comparten con Node Ffi.
  • java-native-access/jnaAvatar de java-native-access

    java-native-access/jna

    8,916Ver en 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

    Java
    Ver en GitHub↗8,916
  • bytedeco/javacppAvatar de bytedeco

    bytedeco/javacpp

    4,697Ver en GitHub↗

    JavaCPP is a JNI C++ bridge and foreign function interface that provides a binding generator, a native library loader, and a native memory manager. It automates the creation of Java wrappers around native C++ headers and shared libraries to enable interoperability between the two languages. The project features a C++ binding generator that parses header files to automatically produce the necessary glue code and interfaces for calling native functions. It includes a native library loader that locates and extracts platform-specific binaries from the classpath into a local cache for runtime exec

    Javacc-plus-pluscpp
    Ver en GitHub↗4,697
  • nodejs/node-addon-apiAvatar de nodejs

    nodejs/node-addon-api

    2,400Ver en GitHub↗

    This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance native addons for Node.js. It acts as a bridge between C++ and JavaScript, offering an object-oriented interface that simplifies the creation of compiled extensions while managing the complexities of the language boundary. The library distinguishes itself by providing type-safe abstractions for data marshalling and memory management, ensuring that native and script-side objects are tracked and reclaimed correctly. It includes mechanisms for coordinating asynchronous tasks bet

    C++nodenodejs
    Ver en GitHub↗2,400
  • torch/torch7Avatar de torch

    torch/torch7

    9,127Ver en GitHub↗

    Torch7 is a scientific computing environment and tensor computation library used for deep learning research and numerical analysis. It functions as a Lua-based framework for training neural networks and learning agents, providing a toolkit for implementing architectures and training through reinforcement learning algorithms. The project is distinguished by its tight integration with C, utilizing a binding layer to map high-level scripting to low-level C structures for direct memory access. It supports hardware-accelerated computation by offloading linear algebra and convolution operations to

    C
    Ver en GitHub↗9,127
Ver las 30 alternativas a Node Ffi→

Preguntas frecuentes

¿Qué hace node-ffi/node-ffi?

node-ffi es una biblioteca de interfaz de funciones externas (FFI) para Node.js que permite llamar a funciones desde bibliotecas dinámicas nativas en C sin escribir bindings manuales en C++. Funciona como un sistema para cargar objetos compartidos y DLLs en la memoria del proceso, traduciendo valores de JavaScript a representaciones binarias y ejecutando binarios externos en tiempo de ejecución.

¿Cuáles son las características principales de node-ffi/node-ffi?

Las características principales de node-ffi/node-ffi son: Dynamic Library Function Executions, Foreign Function Interfaces, Memory-Mapped Data Structures, C-to-JavaScript Type Mappings, C Struct Mappings, Dynamic Library Loading, Raw Memory Allocation, Foreign Function Interface Calls.

¿Qué alternativas de código abierto existen para node-ffi/node-ffi?

Las alternativas de código abierto para node-ffi/node-ffi incluyen: java-native-access/jna — JNA is a foreign function interface and native memory mapper that allows Java applications to call functions in shared… bytedeco/javacpp — JavaCPP is a JNI C++ bridge and foreign function interface that provides a binding generator, a native library loader,… torch/torch7 — Torch7 is a scientific computing environment and tensor computation library used for deep learning research and… nodejs/node-addon-api — This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance… libffi/libffi — libffi is a foreign function interface library that enables calling functions written in other languages at runtime.… janet-lang/janet — Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an…