awesome-repositories.com
博客
MCP
awesome-repositories.com

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

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rusterlium avatar

rusterlium/rustler

0
View on GitHub↗
4,806 星标·243 分支·Rust·Apache-2.0·6 次浏览docs.rs/crate/rustler↗

Rustler

Rustler is a native function wrapper and foreign function interface that enables the development of high-performance extensions for the BEAM virtual machine. It serves as a bridge for writing native functions in Rust that can be called from Erlang environments.

The project focuses on maintaining memory safety to prevent system crashes and memory corruption when executing compiled code. It achieves this by wrapping native calls in safe abstractions and applying Rust's ownership and borrowing rules to the management of external memory and structured data objects.

The library provides mechanisms for data conversion between language types and the management of resource objects. These capabilities allow for the passing of references to structured data into external code with automatic memory release via the runtime garbage collector.

Features

  • Native Function Invocations - Provides the primary capability to invoke high-performance native Rust functions from a managed Erlang runtime.
  • Trait-Based Term Conversions - Uses Rust traits to provide a shared interface for encoding and decoding data types between Rust and the Erlang Term Format.
  • Language Interoperability Converters - Encodes and decodes values between Rust and Erlang types to ensure data compatibility across the FFI bridge.
  • BEAM NIF Bridges - Serves as a specialized bridge for integrating native Rust functions into the BEAM virtual machine environment.
  • Erlang NIF Development - Provides the essential tooling and safety abstractions for developing Native Implemented Functions for the Erlang VM using Rust.
  • Native Function Dispatchers - Implements a high-performance NIF-based dispatch mechanism to execute native Rust functions within the BEAM virtual machine.
  • Native Runtime Wrappers - Acts as a safety layer handling memory management and data conversion for native Rust code in Erlang environments.
  • Rust-Erlang Integration - Facilitates the exchange and conversion of data types to combine Rust's systems programming with Erlang's actor model.
  • Rust Native Extensions - Enables the creation of high-performance native extensions for the BEAM VM while preventing memory corruption.
  • Safe Pointer Abstractions - Encapsulates unsafe native calls in safe Rust abstractions to prevent memory corruption and segmentation faults.
  • Reference-Counting Garbage Collectors - Uses reference counting to track external memory allocations and ensure automatic cleanup by the runtime garbage collector.
  • Native Memory Lifecycle Management - Implements automated memory management for native objects shared between Rust and Erlang processes.
  • Resource Handles - Manages resource objects by passing references to structured data into external code with automatic memory release.
  • Foreign Function Interface - Bridge for creating Erlang NIF functions in Rust.

Star 历史

rusterlium/rustler 的 Star 历史图表rusterlium/rustler 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

rusterlium/rustler 是做什么的?

Rustler is a native function wrapper and foreign function interface that enables the development of high-performance extensions for the BEAM virtual machine. It serves as a bridge for writing native functions in Rust that can be called from Erlang environments.

rusterlium/rustler 的主要功能有哪些?

rusterlium/rustler 的主要功能包括:Native Function Invocations, Trait-Based Term Conversions, Language Interoperability Converters, BEAM NIF Bridges, Erlang NIF Development, Native Function Dispatchers, Native Runtime Wrappers, Rust-Erlang Integration。

rusterlium/rustler 有哪些开源替代品?

rusterlium/rustler 的开源替代品包括: hansihe/rustler — Rustler is a toolkit and interface for building safe, high-performance native extensions that integrate Rust code with… java-native-access/jna — JNA is a foreign function interface and native memory mapper that allows Java applications to call functions in shared… marcuswestin/webviewjavascriptbridge — WebViewJavascriptBridge is a communication layer for sending bidirectional messages between native Objective-C code… flutter-team-archive/plugins — This project is a collection of official plugin packages and a native integration library designed to provide a… janet-lang/janet — Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an… byt3bl33d3r/offensivenim — OffensiveNim is a red teaming framework and post-exploitation toolkit developed in Nim. It provides a collection of…

Rustler 的开源替代方案

相似的开源项目,按与 Rustler 的功能重合度排序。
  • hansihe/rustlerhansihe 的头像

    hansihe/Rustler

    4,806在 GitHub 上查看↗

    Rustler is a toolkit and interface for building safe, high-performance native extensions that integrate Rust code with the BEAM virtual machine. It provides a bridge for writing native functions in Rust that integrate with Erlang and Elixir. The project focuses on preventing virtual machine crashes by catching Rust panics during the execution of native functions. It utilizes a safe interface to encapsulate raw pointers and provide type-safe abstractions for native extensions. The toolkit covers cross-language data marshalling through trait-based term conversion and manages the lifecycle of m

    Rust
    在 GitHub 上查看↗4,806
  • 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

    Java
    在 GitHub 上查看↗8,916
  • flutter-team-archive/pluginsflutter-team-archive 的头像

    flutter-team-archive/plugins

    17,710在 GitHub 上查看↗

    This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu

    Dartandroiddartflutter
    在 GitHub 上查看↗17,710
  • janet-lang/janetjanet-lang 的头像

    janet-lang/janet

    4,308在 GitHub 上查看↗

    Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an embeddable scripting engine. It functions as a fiber-based concurrency runtime and includes a parsing engine based on Parsing Expression Grammars. The project is distinguished by its ability to be integrated into C or C++ applications via a minimal header interface. It utilizes a Lisp-style macro system for compile-time code transformation and employs prototype-based table inheritance for object-oriented behavior. The runtime covers a broad set of capabilities, including asynchronous

    Ccfunctional-languageimperative-language
    在 GitHub 上查看↗4,308
  • 查看 Rustler 的所有 30 个替代方案→