{"id":121335,"date":"2025-01-14T09:46:13","date_gmt":"2025-01-14T07:46:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupen-emscripten-4-0-kompilyator-iz-c-c-v-webassembly"},"modified":"2025-01-14T09:46:13","modified_gmt":"2025-01-14T07:46:13","slug":"dostupen-emscripten-4-0-kompilyator-iz-c-c-v-webassembly","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-emscripten-4-0-kompilyator-iz-c-c-v-webassembly","title":{"rendered":"Saadaval on Emscripten 4.0, C\/C++ kompilaator WebAssembly jaoks.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Avalikustati Emscripten 4.0 v\u00e4ljaanne, mis v\u00f5imaldab C\/C++ ja teiste keelte, millel on LLVM-p\u00f5hised frontend\u2019id, kompileerimist universaalseks madala taseme WebAssembly vahefailiks. Saadud tulemust saab kasutada JavaScripti projektidega integreerimiseks, veebibrauseris k\u00e4itamiseks, Node.js-is kasutamiseks v\u00f5i iseseisvate mitme platvormi rakenduste loomiseks, mida k\u00e4itatakse l\u00e4bi wasm runtime'i. Projekti kood on litsentseeritud MIT litsentsi alusel. Kompilaatoris kasutatakse LLVM projekti arengut ja WebAssembly genereerimiseks ning optimeerimiseks kasutatakse Binaryen'i teeki.    <\/p>\n<p>Emscripteni p\u00f5hieesm\u00e4rgiks on arendada t\u00f6\u00f6riista, mis v\u00f5imaldab k\u00e4itada veebis koodi olenemata programmeerimiskeelest, milles see kood algselt kirjutatud on. Kompilleeritud rakendustes v\u00f5ivad kasutada C ja C++ standardraamatukogude (libc, libcxx) kutseid, C++ laiendusi, mitme l\u00f5ime toetust pthreads'i p\u00f5hjal, POSIX API-d ning mitmeid multimeedia raamatukogusid. Eraldi antakse v\u00e4lja API-d Web API-de ja JavaScripti koodiga integreerimiseks.    <\/p>\n<p>Emscripten toetab SDL2 teeki v\u00e4ljundi t\u00f5lkimist Canvas kaudu ning rakendab OpenGL-i ja EGL-i tuge WebGL API kaudu, v\u00f5imaldades graafiliste rakenduste ja m\u00e4ngude (n\u00e4iteks Qt t\u00f6\u00f6riistakomplekti port, Unreal Engine'i ja Unity m\u00e4ngumootorite tugi ning Bullet f\u00fc\u00fcsikamootor) teisendamist WebAssembly-ks.     <\/p>\n<p>Lisaks C\/C++ koodi kompileerimisele arendatakse eraldi projekte, et k\u00e4ivitada t\u00f5lgendajaid brauserites ja <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/vps\/\"   title=\"virtuaalmasinad\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2133\">virtuaalmasinad<\/a> muid keeltes nagu Lua, C#, Python, Ruby ja Perl. Samuti on v\u00f5imalik rakendada LLVM frontend'e, mis ei ole Clang, n\u00e4iteks keelte frontend'id nagu Swift, Rust, D ja Fortran.      <\/p>\n<p>Versiooninumbri 4.0 m\u00e4\u00e4ramine on seotud ABI tasandi \u00fchilduvust rikkuvate muudatustega (projekti taascompileerimisel Emscripten 4.0-ga tuleb uuesti kompileerida objektifailid ja raamatukogud, mille on loonud varasemad Emscripteni versioonid). Emscripten 4.0 peamised muudatused:  <\/p>\n<ul>\n<li class=\"l\"> Lisatud on valik &#171;-sWASM_LEAGCY_EXCEPTIONS&#187;, et valida vanade ja uute erandite t\u00f6\u00f6tlemismehhanismide vahel. Vaikimisi j\u00e4tkatakse vana mehhanismi kasutamist, kuna mitte k\u00f5ik brauserid ei ole rakendanud WebAssembly uusi erandit\u00f6\u00f6tlejaid.\n<li class=\"l\"> Komponendid compiler-rt, libcxx, libcxxabi ja libunwind on uuendatud LLVM 19 harule.\n<li class=\"l\"> Toetatud minimaalne Safari brauseri versioon (seade MIN_SAFARI_VERSION) on t\u00f5stetud 14.1-lt 15.0-le, mis v\u00f5imaldas vaikimisi kasutusele v\u00f5tta mitmeid t\u00e4iustatud WebAssembly v\u00f5imalusi:\n<ul>\n<li class=\"l\"> Uute k\u00e4skluste kasutamine, mis teisendab float t\u00fc\u00fcbi int-iks (nontrapping-fptoint), mis genereerimise asemel, kui tulemus \u00fcletab piire, tagastab minimaalse v\u00f5i maksimaalse v\u00f5imaliku v\u00e4\u00e4rtuse (SIMD jaoks vajalik).\n<li class=\"l\"> Lisatud valik WASM_BIGINT, mille puhul vahetatakse 64-bitiseid t\u00e4isarve WebAssembly ja JavaScripti koodi vahel BigInt t\u00fc\u00fcbi abil.\n<li class=\"l\"> Lisatud valik BULK_MEMORY, mille puhul C funktsioonide memcpy ja memset rakendamiseks kasutatakse WebAssembly k\u00e4ske memory.copy ja memory.fill.    <\/ul>\n<li class=\"l\"> Funktsioonis PATH.basename() on v\u00e4lja l\u00fclitatud teede normeerimine (PATH.normalize()), st k\u00f5ne &#8216;PATH.basename(&#171;a\/.&#187;)&#8217; tagastab n\u00fc\u00fcd &#171;.&#187; asemel &#171;a&#187;, ja &#8216;PATH.basename(&#171;a\/b\/..&#187;)&#8217; tagastab &#171;..&#187; asemel &#171;a&#187;.\n<li class=\"l\"> Valiku &#171;-sMODULARIZE&#187; kasutamisel on factory-funktsioonid, mis loovad ja tagastavad WebAssembly mooduleid ja objekte JavaScriptile, n\u00fc\u00fcd m\u00e4rgitud t\u00e4hisega &#171;async&#187; kompileerimise ajal re\u017eiimis WASM_ASYNC_COMPILATION, mis on vaikimisi kasutusel.\n<li class=\"l\"> Lisatud on v\u00f5imalus m\u00e4\u00e4rata JavaScripti teeke, kasutades valikut &#171;-lfoo.js&#187;. Erinevalt valikust &#171;&#8212;js-library&#187; otsitakse teeki k\u00f5igis teedes, mis on m\u00e4\u00e4ratud valikuga &#171;-L&#187;.\n<li class=\"l\"> Silumise re\u017eiimis (-O0 v\u00f5i -sASSERTIONS) on vaikimisi aktiveeritud silumise variant malloc funktsioonist koos assert-uga, mis leiab selliseid vigu nagu kahekordne free() funktsiooni kutsumine.        <\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62553\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f Emscripten 4.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 C\/C++ \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 LLVM, \u0432 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 WebAssembly. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 JavaScript-\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 web-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Node.js \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 wasm runtime. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 [&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-121335","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f Emscripten 4.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 C\/C++ \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 LLVM, \u0432 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 WebAssembly. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 JavaScript-\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 web-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Node.js \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 wasm runtime. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439\" \/>\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\/et\/blog\/novosti-interneta\/dostupen-emscripten-4-0-kompilyator-iz-c-c-v-webassembly\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d Emscripten 4.0, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438\u0437 C\/C++ \u0432 WebAssembly | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f Emscripten 4.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 C\/C++ \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 LLVM, \u0432 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 WebAssembly. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 JavaScript-\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 web-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Node.js \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 wasm runtime. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-emscripten-4-0-kompilyator-iz-c-c-v-webassembly\" \/>\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-01-14T07:46:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-01-14T07:46:13+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\udd47Emscripten 4.0, C\/C++ WebAssembly kompilaator, on saadaval | ProHoster","description":"Avalikustati Emscripten 4.0 v\u00e4ljaanne, mis v\u00f5imaldab C\/C++ ja teiste keelte, millel on LLVM-p\u00f5hised frontend\u2019id, kompileerimist universaalseks madala taseme WebAssembly vahefailiks. Saadud tulemust saab kasutada JavaScripti projektidega integreerimiseks, veebibrauseris k\u00e4itamiseks, Node.js-is kasutamiseks v\u00f5i iseseisvate mitme platvormi rakenduste loomiseks, mida k\u00e4itatakse l\u00e4bi wasm runtime'i. Projekti kood on litsentseeritud","canonical_url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-emscripten-4-0-kompilyator-iz-c-c-v-webassembly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d Emscripten 4.0, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438\u0437 C\/C++ \u0432 WebAssembly | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f Emscripten 4.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 C\/C++ \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 LLVM, \u0432 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 WebAssembly. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 JavaScript-\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 web-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Node.js \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 wasm runtime. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439","og:url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-emscripten-4-0-kompilyator-iz-c-c-v-webassembly","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-01-14T07:46:13+00:00","article:modified_time":"2025-01-14T07:46:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121335","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-02-09 17:39:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 09:39:24","updated":"2026-02-09 17:39:23"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/121335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=121335"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/121335\/revisions"}],"predecessor-version":[{"id":159377,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/121335\/revisions\/159377"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=121335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=121335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=121335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}