發佈嵌入式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

添加評論