awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
node-ffi avatar

node-ffi/node-ffi

0
View on GitHub↗
4,322 stars·400 forks·JavaScript·MIT·4 vues

Node Ffi

node-ffi est une bibliothèque d'interface de fonction étrangère (FFI) pour Node.js qui permet d'appeler des fonctions depuis des bibliothèques dynamiques C natives sans écrire de bindings C++ manuels. Il sert de système pour charger des objets partagés et des DLL en mémoire de processus, traduire des valeurs JavaScript en représentations binaires et exécuter des binaires externes au runtime.

Le projet utilise un wrapper autour de la bibliothèque libffi pour construire des frames d'appel et exécuter des fonctions natives avec des arguments dynamiques. Il se distingue en fournissant un gestionnaire de mémoire native pour allouer des pointeurs bruts et un système de mapping qui connecte des structures C complexes à des objets JavaScript.

La boîte à outils couvre un large éventail de capacités d'interopérabilité native, incluant la traduction automatique des types de données et la création de stubs de mémoire exécutables permettant aux bibliothèques natives de déclencher des callbacks JavaScript. Pour maintenir la réactivité du thread principal, il prend en charge un modèle d'exécution asynchrone qui décharge les appels de fonctions natives vers un pool de threads séparé.

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.

Historique des stars

Graphique de l'historique des stars pour node-ffi/node-ffiGraphique de l'historique des stars pour node-ffi/node-ffi

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Node Ffi

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Node Ffi.
  • java-native-access/jnaAvatar de java-native-access

    java-native-access/jna

    8,916Voir sur 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
    Voir sur GitHub↗8,916
  • bytedeco/javacppAvatar de bytedeco

    bytedeco/javacpp

    4,697Voir sur 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
    Voir sur GitHub↗4,697
  • nodejs/node-addon-apiAvatar de nodejs

    nodejs/node-addon-api

    2,400Voir sur 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
    Voir sur GitHub↗2,400
  • torch/torch7Avatar de torch

    torch/torch7

    9,127Voir sur 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
    Voir sur GitHub↗9,127
Voir les 30 alternatives à Node Ffi→

Questions fréquentes

Que fait node-ffi/node-ffi ?

node-ffi est une bibliothèque d'interface de fonction étrangère (FFI) pour Node.js qui permet d'appeler des fonctions depuis des bibliothèques dynamiques C natives sans écrire de bindings C++ manuels. Il sert de système pour charger des objets partagés et des DLL en mémoire de processus, traduire des valeurs JavaScript en représentations binaires et exécuter des binaires externes au runtime.

Quelles sont les fonctionnalités principales de node-ffi/node-ffi ?

Les fonctionnalités principales de node-ffi/node-ffi sont : 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.

Quelles sont les alternatives open-source à node-ffi/node-ffi ?

Les alternatives open-source à node-ffi/node-ffi incluent : 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…