嵌入式 C++ 的 JavaScript 引擎 — 小巧、直接、可控

Emjs 是面向固件、工具链和资源受限环境的轻量级 JavaScript 解释器。 它直接解释源码(无字节码虚拟机),并在您指定的固定内存缓冲区中运行。

C++17 直接解释执行 固定内存 闭包与箭头函数 静态库

为什么选择 Emjs?

当 V8 或 QuickJS 体积过大,但您仍需要在 C++ 应用中运行 JavaScript 逻辑时,Emjs 是一个务实的选择。

嵌入式优先

支持外部缓冲区或内部 malloc 创建引擎,GC 阈值与 C 栈深度均可配置。

集成简单

两个静态库(emjs-coreemjs-exts),清晰的 JsEngine API,以及原生函数注入能力。

类 Node 命令行

emjs 可执行文件支持脚本执行、交互式 REPL,构建时可启用常用扩展。

现代 JS 子集

支持 let/const、箭头函数、闭包、数组方法、try/catch 等,文档与源码对齐。