{"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\/pt\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","title":{"rendered":"O fundador do QEMU e FFmpeg publicou o motor JavaScript Micro QuickJS.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>O matem\u00e1tico franc\u00eas Fabrice Bellard, que fundou na \u00e9poca projetos como QEMU, FFmpeg, BPG, QuickJS, TinyGL e TinyCC, publicou um novo motor JavaScript para sistemas embarcados \u2014 Micro QuickJS, capaz de compilar e executar programas em JavaScript, consumindo apenas 10 KB de RAM. Junto com a biblioteca em C, o motor ocupa cerca de 100 KB de mem\u00f3ria permanente. \u00c9 poss\u00edvel compilar JavaScript para bytecode e executar o bytecode separadamente. O c\u00f3digo do projeto \u00e9 escrito na linguagem C e est\u00e1 sob a licen\u00e7a MIT.    <\/p>\n<p>O motor suporta um subconjunto da linguagem JavaScript, pr\u00f3ximo \u00e0 especifica\u00e7\u00e3o ECMAScript 5 (ES2019), mas imp\u00f5e requisitos mais rigorosos ao c\u00f3digo e n\u00e3o permite o uso de certas constru\u00e7\u00f5es JavaScript ineficientes ou que levam a erros. Por exemplo, vari\u00e1veis globais devem ser declaradas com a palavra-chave \"var\", o uso de \"with\" \u00e9 proibido, arrays n\u00e3o podem ter buracos, e n\u00e3o \u00e9 poss\u00edvel inicializar ao declarar como \"new Number(1)\"; o acesso a vari\u00e1veis locais a partir de eval \u00e9 imposs\u00edvel.            <\/p>\n<p>O desempenho do Micro QuickJS \u00e9 compar\u00e1vel ao do motor QuickJS, desenvolvido por Fabrice desde 2019. O Micro QuickJS utiliza parte do c\u00f3digo do QuickJS, mas a arquitetura difere em muitos aspectos e \u00e9 projetada para um consumo m\u00ednimo de mem\u00f3ria. Por exemplo, o Micro QuickJS emprega um coletor de lixo por rastreamento, enquanto o QuickJS utiliza contagem de refer\u00eancias. As sobrecargas do coletor de lixo consistem em apenas alguns bits para cada bloco de mem\u00f3ria alocado. Para aloca\u00e7\u00e3o de mem\u00f3ria, utiliza um alocador pr\u00f3prio, independente da fun\u00e7\u00e3o de biblioteca malloc().    <\/p>\n<p>Outras diferen\u00e7as em rela\u00e7\u00e3o ao QuickJS: n\u00e3o utiliza pilhas; representa\u00e7\u00e3o interna distinta de objetos; armazenamento de strings em codifica\u00e7\u00e3o UTF-8; gera\u00e7\u00e3o da biblioteca padr\u00e3o durante a compila\u00e7\u00e3o e armazenamento na mem\u00f3ria permanente, criando na RAM apenas alguns objetos; parser semelhante ao QuickJS, mas que n\u00e3o utiliza recurs\u00e3o; combina\u00e7\u00e3o em uma \u00fanica passagem da gera\u00e7\u00e3o de bytecode e otimiza\u00e7\u00e3o (o QuickJS possui v\u00e1rias passagens para otimiza\u00e7\u00e3o). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/vps\/abuzoustojchivye-vps\/\"   title=\"m\u00e1quina virtual\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4209\">m\u00e1quina virtual<\/a>O matem\u00e1tico franc\u00eas Fabrice Bellard, que fundou na sua \u00e9poca os projetos QEMU, FFmpeg, BPG, QuickJS, TinyGL e TinyCC, publicou um novo motor JavaScript para sistemas embarcados - Micro QuickJS.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64483\">opennet.ru<\/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.3 - 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\/pt\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47O fundador do QEMU e FFmpeg publicou o motor JavaScript Micro QuickJS | ProHoster","description":"\ud83e\udd47O fundador do QEMU e FFmpeg publicou o motor JavaScript Micro QuickJS | ProHoster","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/152471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=152471"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/152471\/revisions"}],"predecessor-version":[{"id":164084,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/152471\/revisions\/164084"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=152471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=152471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=152471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}