{"id":152471,"date":"2025-12-23T23:12:03","date_gmt":"2025-12-23T21:12:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs"},"modified":"2025-12-23T23:12:03","modified_gmt":"2025-12-23T21:12:03","slug":"osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","title":{"rendered":"QEMU un FFmpeg dibin\u0101t\u0101js ir public\u0113jis JavaScript dzini Micro QuickJS","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Fran\u010du matem\u0101ti\u0137is Fabriss Bellards (Fabrice Bellard), kur\u0161 savulaik izveidoja projektus QEMU, FFmpeg, BPG, QuickJS, TinyGL un TinyCC, public\u0113ja jaunu JavaScript dzin\u0113ju ieb\u016bv\u0113taj\u0101m sist\u0113m\u0101m \u2014 Micro QuickJS, kas sp\u0113j kompil\u0113t un izpild\u012bt JavaScript programmas, pat\u0113r\u0113jot vien 10 KB RAM. Kop\u0101 ar C bibliot\u0113ku dzin\u0113js aiz\u0146em aptuveni 100 KB past\u0101v\u012bg\u0101s atmi\u0146as. Iesp\u0113jama JavaScript kompil\u0101cija bytecode un atsevi\u0161\u0137a bytecode izpilde. Projekta kods ir rakst\u012bts valod\u0101 C un izplat\u012bts ar MIT licenci.    <\/p>\n<p>Dzin\u0113js atbalsta JavaScript valodas apak\u0161kopu, kas ir tuva ECMAScript 5 (ES2019) specifik\u0101cijai, ta\u010du tam ir stingr\u0101kas pras\u012bbas attiec\u012bb\u0101 uz kodu un nepie\u013cauj da\u017eus neefekt\u012bvus vai k\u013c\u016bdainus JavaScript konstrukcijas. Piem\u0113ram, glob\u0101l\u0101m main\u012bgaj\u0101m oblig\u0101ti j\u0101b\u016bt deklar\u0113t\u0101m ar atsl\u0113gv\u0101rdu \u201evar\u201d, tiek aizliegta \u201ewith\u201d izmanto\u0161ana, mas\u012bvi nedr\u012bkst satur\u0113t tuk\u0161us elementus, nav iesp\u0113jama inicializ\u0101cija deklar\u0101cij\u0101s \u201cnew Number(1)\u201d, pie eval nav iesp\u0113jama piek\u013cuve lok\u0101laj\u0101m main\u012bgaj\u0101m.            <\/p>\n<p>Micro QuickJS veiktsp\u0113ja ir tuvu QuickJS dzin\u0113jam, kuru Fabrice att\u012bsta kop\u0161 2019. gada. Micro QuickJS izmanto da\u013cu koda no QuickJS dzin\u0113ja, ta\u010du arhitekt\u016bra liel\u0101 m\u0113r\u0101 at\u0161\u0137iras un projekt\u0113ta minim\u0101lai atmi\u0146as pat\u0113ri\u0146ai. Piem\u0113ram, Micro QuickJS izmanto izsekojo\u0161o atkritumu sav\u0101c\u0113ju, kam\u0113r QuickJS ir izveidojis atsau\u010du skait\u012b\u0161anu. Atkritumu sav\u0101k\u0161anas papildu izmaksas ir tikai da\u017ei bitti katram pie\u0161\u0137irtajam atmi\u0146as blokam. Atmi\u0146as pie\u0161\u0137ir\u0161anai tiek izmantota pa\u0161a izstr\u0101d\u0101ta allocator, kas nav atkar\u012bgs no bibliot\u0113kas funkcijas malloc().    <\/p>\n<p>Citi at\u0161\u0137ir\u012bbas no QuickJS: nesavilkts steks; at\u0161\u0137ir\u012bga iek\u0161\u0113j\u0101 objektu att\u0113lo\u0161ana; virkn\u0113\u0161anu saglab\u0101\u0161ana UTF-8 kod\u0113jum\u0101; standarta bibliot\u0113kas \u0123ener\u0113\u0161ana kompil\u0101cijas laik\u0101 un t\u0101s uzglab\u0101\u0161ana past\u0101v\u012bgaj\u0101 atmi\u0146\u0101, izveidojot tikai da\u017eus objektus RAM; tuvu QuickJS, bet nesavilkts rekursijai, parsers; bytecode \u0123ener\u0113\u0161ana un optimiz\u0101cija notiek vien\u0101 p\u0101rej\u0101 (QuickJS ir vair\u0101ki p\u0101rejas optimiz\u0101cijai). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/lv\/vps\/abuzoustojchivye-vps\/\"   title=\"virtu\u0101l\u0101 ma\u0161\u012bna\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4209\">virtu\u0101l\u0101 ma\u0161\u012bna<\/a>Fran\u010du matem\u0101ti\u0137is Fabrice Bellard, kur\u0161 savulaik dibin\u0101ja projektus QEMU, FFmpeg, BPG, QuickJS, TinyGL un TinyCC, ir public\u0113jis jaunu JavaScript dzin\u0113ju ieb\u016bv\u0113taj\u0101m sist\u0113m\u0101m - Micro QuickJS.<br \/>\n<br \/>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64483\">opennet.lv<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0424\u0430\u0431\u0440\u0438\u0441 \u0411\u0435\u043b\u043b\u0430\u0440 (Fabrice Bellard), \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b QEMU, FFmpeg, BPG, QuickJS, TinyGL \u0438 TinyCC, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c &#8212; Micro QuickJS, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c JavaScript-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044f \u0432\u0441\u0435\u0433\u043e 10 \u041a\u0411 \u041e\u0417\u0423. \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 100 \u041a\u0411 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f JavaScript \u0432 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-152471","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0424\u0430\u0431\u0440\u0438\u0441 \u0411\u0435\u043b\u043b\u0430\u0440 (Fabrice Bellard), \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b QEMU, FFmpeg, BPG, QuickJS, TinyGL \u0438 TinyCC, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c - Micro QuickJS.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c QEMU \u0438 FFmpeg \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a Micro QuickJS | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0424\u0430\u0431\u0440\u0438\u0441 \u0411\u0435\u043b\u043b\u0430\u0440 (Fabrice Bellard), \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b QEMU, FFmpeg, BPG, QuickJS, TinyGL \u0438 TinyCC, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c - Micro QuickJS.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-12-23T21:12:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-12-23T21:12:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47QEMU un FFmpeg dibin\u0101t\u0101js public\u0113jis JavaScript dzin\u0113ju Micro QuickJS | ProHoster","description":"\ud83e\udd47QEMU un FFmpeg dibin\u0101t\u0101js public\u0113jis JavaScript dzin\u0113ju Micro QuickJS | ProHoster","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c QEMU \u0438 FFmpeg \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a Micro QuickJS | ProHoster","og:description":"\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0424\u0430\u0431\u0440\u0438\u0441 \u0411\u0435\u043b\u043b\u0430\u0440 (Fabrice Bellard), \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b QEMU, FFmpeg, BPG, QuickJS, TinyGL \u0438 TinyCC, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c - Micro QuickJS.","og:url":"https:\/\/prohoster.info\/lv\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-12-23T21:12:03+00:00","article:modified_time":"2025-12-23T21:12:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"152471","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-20 13:46:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-20 13:46:19","updated":"2026-01-20 13:46:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/152471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=152471"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/152471\/revisions"}],"predecessor-version":[{"id":164084,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/152471\/revisions\/164084"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=152471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=152471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=152471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}