Įdėto JavaScript variklio Duktape 2.4.0 išleidimas

paskelbta JavaScript variklio leidimas Duktape 2.4.0, skirtas įterpti į projektų kodų bazę C/C++ kalba. Variklis yra kompaktiško dydžio, labai nešiojamas ir sunaudoja mažai išteklių. Variklio šaltinio kodas parašytas C ir skleisti pagal MIT licenciją.

„Duktape“ kodas užima apie 160 kB ir sunaudoja tik 70 kB operatyviosios atminties, o mažo atminties suvartojimo režimu – 27 kB RAM. Integruoti Duktape į C/C++ kodą pakanka pridėti failus duktape.c ir duktape.h prie projekto ir naudoti Duktape API iškviesti JavaScript funkcijas iš C/C++ kodo arba atvirkščiai. Norint išlaisvinti nenaudojamus objektus iš atminties, naudojamas šiukšlių surinkėjas su baigituvu, pastatytas derinio pagrindu. algoritmas nuorodų skaičiavimas su žymėjimo algoritmu (Mark and Sweep). Variklis naudojamas JavaScript apdoroti naršyklėje „NetSurf“.

Užtikrina visišką suderinamumą su Ecmascript 5.1 specifikacijomis ir daliniu parama „Ecmascript 2015“ ir „2016“ (E6 ir E7), įskaitant tarpinio serverio objektų palaikymą nuosavybės virtualizavimui, įvestus masyvus, „ArrayBuffer“, „Node.js“ buferį, kodavimo API, simbolių objektą ir kt. Jame yra integruotas derinimo įrankis, reguliariosios išraiškos variklis ir „Unicode“ palaikymo posistemė. Taip pat teikiami konkretūs plėtiniai, tokie kaip korutinos palaikymas, integruota registravimo sistema, CommonJS pagrįstas modulių įkėlimo mechanizmas ir baitų kodo talpyklos sistema, leidžianti išsaugoti ir įkelti sukompiliuotas funkcijas.

Naujame leidime įgyvendinta nauji iškvietimai į duk_to_stacktrace() ir duk_safe_to_stacktrace(), kad gautų kamino pėdsakus, duk_push_bare_array(), kad būtų pridėti nepriklausomi masyvo egzemplioriai. Funkcijos duk_require_constructable() ir duk_require_constructor_call() buvo paskelbtos viešai. Patobulintas suderinamumas su ES2017 specifikacija. Darbas su masyvais ir objektais buvo optimizuotas. Duk CLI sąsajoje pridėta parinktis „--no-auto-complete“, kad būtų išjungtas įvesties užbaigimas.

Šaltinis: opennet.ru

Добавить комментарий