2 个仓库
Extracting data from raw pointers and serializing values into buffers for native consumption.
Distinct from Native Buffer Transfers: Focuses on the direct manipulation and extraction of data from raw pointers, beyond just zero-copy transfers.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Pointer-Based Memory Access. Refine with filters or upvote what's useful.
node-ffi 是一个 Node.js 的外部函数接口库,无需编写手动 C++ 绑定即可调用原生 C 动态库中的函数。它作为一个系统,用于将共享对象和 DLL 加载到进程内存中,将 JavaScript 值转换为二进制表示,并在运行时执行外部二进制文件。 该项目利用 libffi 库的包装器来构建调用帧并使用动态参数执行原生函数。它的特色在于提供了一个用于分配原始指针的原生内存管理器,以及一个将复杂 C 结构映射到 JavaScript 对象的映射系统。 该工具包涵盖了广泛的原生互操作性功能,包括自动数据类型转换和创建可执行内存存根,允许原生库触发 JavaScript 回调。为了保持主线程响应能力,它支持异步执行模型,将原生函数调用卸载到单独的线程池中。
Implements direct manipulation and extraction of data from raw pointers to handle C structs across the language boundary.
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
Allows serializing values into buffers and extracting data directly from raw pointers for native consumption.