Muvambi weQEMU neFFmpeg akaburitsa injini yeMicro QuickJS JavaScript.

Nyanzvi yemasvomhu yekuFrance, Fabrice Bellard, uyo akatanga mapurojekiti eQEMU, FFmpeg, BPG, QuickJS, TinyGL, uye TinyCC, akaburitsa injini itsva yeJavaScript yema embedded systems—Micro QuickJS. Inogona kuunganidza nekuita mapurogiramu eJavaScript uku ichishandisa 10 KB ye RAM chete. Pamwe chete ne C library, injini iyi inotora 100 KB ye memory. Inogona kuunganidza JavaScript kuenda ku bytecode uye kumhanyisa bytecode zvakasiyana. Kodhi yepurojekiti yakanyorwa muC uye inogoverwa pasi peMIT rezinesi.

Injini iyi inotsigira chikamu chemutauro weJavaScript chiri pedyo neECMAScript 5 (ES2019) specification, asi inoisa zvinodiwa zvekodhi yakaoma uye inorambidza kushandiswa kwemamwe maJavaScript constructs asina kushanda zvakanaka kana kuti anowanzo kukanganisa. Semuenzaniso, global variables dzinofanira kuziviswa uchishandisa keyword "var", kushandiswa kwe "with" hakubvumidzwe, ma arrays haagone kuva asina chinhu, kutanga hakugoneki nekuzivisa kwechimiro che "new Number(1)", uye local variables hadzigone kuwanikwa kubva ku eval.

Mashandiro eMicro QuickJS akafanana neeinjini yeQuickJS, yakagadzirwa naFabrice kubvira muna 2019. Micro QuickJS inoshandisa imwe kodhi yakafanana neinjini yeQuickJS, asi magadzirirwo ayo akasiyana zvakanyanya uye akagadzirirwa kushandiswa zvishoma kwendangariro. Semuenzaniso, Micro QuickJS inoshandisa tracing garbage collector, nepo QuickJS ichishandisa reference counting. Mari yemuunganidzi wemarara inongova mabits mashoma pa block imwe neimwe yememori yakapihwa. Memory allocation inoshandisa allocator yayo, isina chekuita nebasa remalloc() library.

Mimwe misiyano kubva kuQuickJS: haishandise stack muchina chaiwo; chimiro chakasiyana chemukati chezvinhu; kuchengetedza tambo muUTF-8 encoding; kugadzira raibhurari yakajairika panguva yekuunganidza uye kuichengeta mundangariro inogara iripo nekugadzirwa kwezvinhu zvishoma chete muRAM; parser yakafanana neQuickJS, asi isingashandisi recursion; kusanganisa kugadzirwa kwebytecode uye kugadzirisa mupass imwe chete (QuickJS ine mapass akati wandei ekugadzirisa).

Source: opennet.ru

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster