Tso tawm ntawm embedded JavaScript cav Duktape 2.4.0

luam tawm JavaScript engine tso tawm Cov Ntaub Ntawv 2.4.0, aimed ntawm embedding rau hauv lub hauv paus code ntawm tej yaam num nyob rau hauv C / C ++ lus. Lub cav yog compact loj, portable heev thiab tsis tshua muaj kev pab. Lub hauv paus code ntawm lub cav yog sau nyob rau hauv C thiab kis mus nyob rau hauv MIT daim ntawv tso cai.

Lub Duktape code siv li ntawm 160 kB thiab tsuas yog siv 70 kB ntawm RAM, thiab nyob rau hauv lub cim xeeb tsis siv hom 27 kB ntawm RAM. Txhawm rau ua ke Duktape rau hauv C / C ++ code yog txaus ntxiv cov ntaub ntawv duktape.c thiab duktape.h rau qhov project, thiab siv Duktape API hu rau JavaScript ua haujlwm los ntawm C / C ++ code lossis vice versa. Txhawm rau tso cov khoom tsis siv los ntawm lub cim xeeb, cov khoom siv khib nyiab nrog qhov kawg yog siv, tsim los ntawm kev sib xyaw ua ke. algorithm txuas suav nrog cim algorithm (Mark thiab Sweep). Lub cav yog siv los ua JavaScript hauv browser NetSurf.

Muab tag nrho compatibility nrog Ecmascript 5.1 specifications thiab ib feem yug Ecmascript 2015 thiab 2016 (E6 thiab E7), suav nrog Proxy khoom txhawb nqa rau cov cuab yeej virtualization, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol object, thiab lwm yam. Nws suav nrog kev txhim kho hauv kev debugger, lub cav hais tawm tsis tu ncua, thiab subsystem rau kev txhawb nqa Unicode. Cov kev txuas tshwj xeeb kuj tau muab, xws li kev txhawb nqa coroutine, lub hauv paus kev nkag mus ua haujlwm, CommonJS-based module loading mechanism, thiab bytecode caching system uas tso cai rau koj txuag thiab thauj cov haujlwm ua haujlwm.

Hauv kev tso tawm tshiab ua raws hu tshiab rau duk_to_stacktrace() thiab duk_safe_to_stacktrace() kom tau cov kab ke, duk_push_bare_array() ntxiv rau cov xwm txheej ywj pheej. Cov haujlwm duk_require_constructable() thiab duk_require_constructor_call() tau tshaj tawm rau pej xeem. Txhim kho kev sib raug zoo nrog ES2017 specification. Ua hauj lwm nrog arrays thiab khoom tau optimized. Ntxiv "--tsis-auto-ua tiav" kev xaiv rau duk CLI interface kom lov tes taw kev ua tiav.

Tau qhov twg los: opennet.ru

Ntxiv ib saib