发布嵌入式JavaScript引擎Duktape 2.4.0

发表 JavaScript 引擎发布 杜克胶带2.4.0,旨在嵌入到 C/C++ 语言项目的代码库中。 该引擎体积紧凑,便携性强,资源消耗低。 引擎的源代码是用C语言编写的 传播 在麻省理工学院的许可下。

Duktape 代码占用约 160 kB,仅消耗 70 kB RAM,在低内存消耗模式下消耗 27 kB RAM。 将 Duktape 集成到 C/C++ 代码中 够了 将文件 duktape.c 和 duktape.h 添加到项目中,并使用 杜克胶带 API 从 C/C++ 代码调用 JavaScript 函数,反之亦然。 为了从内存中释放未使用的对象,使用了带有终结器的垃圾收集器,该收集器基于以下组合构建: 算法 使用标记算法(标记和扫描)进行链接计数。 该引擎用于处理浏览器中的JavaScript NetSurf.

提供与 Ecmascript 5.1 规范的完全兼容性和部分兼容性 支持 Ecmascript 2015 和 2016(E6 和 E7),包括对属性虚拟化的代理对象支持、类型化数组、ArrayBuffer、Node.js Buffer、Encoding API、Symbol 对象等。 它包括一个内置调试器、一个正则表达式引擎和一个用于 Unicode 支持的子系统。 还提供了特定的扩展,例如协程支持、内置日志框架、基于 CommonJS 的模块加载机制以及允许您保存和加载编译函数的字节码缓存系统。

在新版本中 实施的 新调用 duk_to_stacktrace() 和 duk_safe_to_stacktrace() 来获取堆栈跟踪,duk_push_bare_array() 来添加独立的数组实例。 函数 duk_require_constructable() 和 duk_require_constructor_call() 已公开。 改进了与 ES2017 规范的兼容性。 数组和对象的使用已得到优化。 在 duk CLI 界面中添加了“--no-auto-complete”选项以禁用输入完成。

来源: opennet.ru

添加评论