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

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

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

Tencent/xLua

0
View on GitHub↗
10,101 星标·2,498 分支·C·10 次浏览

XLua

xLua is a scripting bridge and C++ wrapper used to embed the Lua language into host applications. It facilitates bidirectional data exchange and function calls between scripts and the host environment.

The project includes a runtime patching tool for replacing application logic and fixing bugs without requiring a system restart. It features a coroutine orchestrator that wraps asynchronous operations into linear code and a script validator that verifies digital signatures to ensure code authenticity and integrity before execution.

To minimize memory overhead and garbage collection, the system supports passing custom structures and enums via direct memory layout mapping. It further provides mechanisms for static type mapping and the synchronization of asynchronous logic.

Features

  • Embedded Scripting Engines - Provides a comprehensive bridge for embedding the Lua scripting language into host applications for bidirectional data exchange.
  • GC Reduction Strategies - Supports passing custom structs and enums between the scripting engine and host environment to reduce garbage collection overhead.
  • Scripting and Interop - Serves as a bridge for embedding the Lua scripting language into applications to facilitate data exchange and function calls.
  • Direct Memory Data Transfer - Passes complex data structures via raw memory pointers to avoid expensive object allocation and garbage collection overhead.
  • Script-to-Native Type Mappings - Maps host-side types to Lua environments through a predefined registry to ensure consistent data representation.
  • C Function Bindings - Interfaces the host language with Lua using a low-level C bridge for bidirectional function calls and data exchange.
  • Language Wrappers - Provides a C++ wrapper that allows host applications to call Lua functions and pass custom C structures.
  • Lua - Integrates a Lua interpreter into a host application to allow dynamic data exchange and function calls.
  • Hot-Patching Tools - Enables replacing application logic and fixing bugs at runtime using Lua scripts without requiring a system restart.
  • Script Validators - Ensures the authenticity of executable code by validating digital signatures before scripts are loaded.
  • Asynchronous - Allows non-blocking code to be written in a linear style by wrapping asynchronous operations using cooperative multitasking.
  • Coroutine Orchestrators - Provides a system for wrapping asynchronous operations into linear code using Lua cooperative multitasking routines.
  • Bytecode Validators - Verifies the integrity of pre-compiled scripts by checking digital signatures before the virtual machine executes the bytecode.
  • Signature Verification Tools - Ensures code authenticity and integrity by validating digital signatures on scripts before they are executed.
  • Runtime Patching Engines - Enables fixing bugs without restarting the system by replacing existing method implementations with scripts during runtime.
  • Scripting Memory Optimizations - Passes custom structs and enums between a host and Lua engine to minimize memory overhead and garbage collection.
  • Runtime Method Patching - Replaces existing host method implementations at runtime by intercepting calls through a dynamic script-based lookup table.
  • Async-to-Sync Wrappers - Simulates synchronous execution flow for asynchronous tasks by suspending and resuming cooperative multitasking routines.
  • Scripting Languages - Lua programming solution for C# projects.

Star 历史

tencent/xlua 的 Star 历史图表tencent/xlua 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

XLua 的开源替代方案

相似的开源项目,按与 XLua 的功能重合度排序。
  • yuin/gopher-luayuin 的头像

    yuin/gopher-lua

    6,933在 GitHub 上查看↗

    Gopher-lua is a complete implementation of the Lua language and its standard libraries written natively in Go. It serves as an embedded scripting engine and virtual machine that allows Go applications to execute Lua scripts and exchange data between the host and the script environment. The project provides a bytecode compiler to transform source code into a binary format for faster execution. It enables deep integration between the two languages by allowing the registration of native Go functions to be called from scripts, and the invocation of script functions directly from Go. The engine c

    Gogogopher-lualua
    在 GitHub 上查看↗6,933
  • dop251/gojadop251 的头像

    dop251/goja

    6,914在 GitHub 上查看↗

    Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded scripting engine that allows Go applications to execute JavaScript code and integrate a programmable scripting layer without relying on Cgo or external native dependencies. The project functions as a bridge between Go and JavaScript, enabling bidirectional data exchange and function invocation. It allows Go hosts to expose native structs, slices, and maps as JavaScript objects and arrays, while providing mechanisms to export script values and functions back into native Go type

    Go
    在 GitHub 上查看↗6,914
  • alibaba/tenginealibaba 的头像

    alibaba/tengine

    13,276在 GitHub 上查看↗

    Tengine is an enhanced Nginx web server distribution designed for high-traffic environments. It functions as a high-performance reverse proxy, dynamic load balancer, and HTTP/3 proxy server, integrating an embedded Lua scripting engine to allow for custom business logic and dynamic request processing. The project distinguishes itself through a focus on modern transport protocols and efficiency, featuring native support for QUIC and HTTP/3 to reduce connection latency. It implements userspace UDP forwarding to bypass the kernel for higher throughput and provides the ability to dynamically upda

    Chttp3ingressnginx
    在 GitHub 上查看↗13,276
  • luajit/luajitLuaJIT 的头像

    LuaJIT/LuaJIT

    5,592在 GitHub 上查看↗

    LuaJIT is a high-performance Lua language implementation and just-in-time compiler. It functions as an embedded scripting engine and dynamic binary translator that converts portable bytecode into native machine code during execution. The project focuses on high-performance scripting by translating bytecode into architecture-specific instructions to achieve execution speeds close to compiled C code. It utilizes a lightweight runtime environment designed for minimal memory overhead. The system supports binary data processing via bitwise operations and enables asynchronous task management throu

    C
    在 GitHub 上查看↗5,592
查看 XLua 的所有 30 个替代方案→

常见问题解答

tencent/xlua 是做什么的?

xLua is a scripting bridge and C++ wrapper used to embed the Lua language into host applications. It facilitates bidirectional data exchange and function calls between scripts and the host environment.

tencent/xlua 的主要功能有哪些?

tencent/xlua 的主要功能包括:Embedded Scripting Engines, GC Reduction Strategies, Scripting and Interop, Direct Memory Data Transfer, Script-to-Native Type Mappings, C Function Bindings, Language Wrappers, Lua。

tencent/xlua 有哪些开源替代品?

tencent/xlua 的开源替代品包括: yuin/gopher-lua — Gopher-lua is a complete implementation of the Lua language and its standard libraries written natively in Go. It… dop251/goja — Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded… robertkrimen/otto — Otto is a Go implementation of a JavaScript interpreter and embedded scripting engine. It provides a runtime… alibaba/tengine — Tengine is an enhanced Nginx web server distribution designed for high-traffic environments. It functions as a… luajit/luajit — LuaJIT is a high-performance Lua language implementation and just-in-time compiler. It functions as an embedded… openresty/lua-nginx-module — This project is an NGINX module that embeds the Lua scripting language directly into the server environment. It…