{"id":107320,"date":"2023-03-17T12:48:10","date_gmt":"2023-03-17T10:48:10","guid":{"rendered":"https:\/\/prohoster.info\/?p=107320"},"modified":"2023-03-17T13:35:18","modified_gmt":"2023-03-17T11:35:18","slug":"cheerp-3-0-kompilyator-c-c-v-javascript-perevedyon-na-liczenzii-apache-2-0-i-llvm","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/cheerp-3-0-kompilyator-c-c-v-javascript-perevedyon-na-liczenzii-apache-2-0-i-llvm","title":{"rendered":"Cheerp 3.0, C\/C++ kompilaator JavaScriptile, liigutatud Apache 2.0 ja LLVM litsentsidele","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tutvustame Cheerp 3.0 kompilaatorit, mis v\u00f5imaldab konverteerida mistahes C\/C++ koodi WebAssembly v\u00f5i JavaScriptiks. Uus versioon on m\u00e4rkimisv\u00e4\u00e4rne kompilaatori ja sellega seotud raamatukogude \u00fcleminekuga lubavate litsentside, nagu Apache 2.0 ja LLVM, kasutamisele, asendades varasema piiratud litsentsipoliitika, mis pakkus GPLv2 litsentsi mittetulunduslike projektide jaoks ja omandi\u00f5iguse litsentsi kommertslike eesm\u00e4rkide jaoks. Kompilaatori kood p\u00f5hineb LLVM ja Clangi arendustel ning sisaldab t\u00e4iendavaid optimeerimisi, et suurendada j\u00f5udlust ja v\u00e4hendada kompileeritud tulemuse suurust.      <\/p>\n<p>Cheerp sobib nii olemasolevate C\/C++ raamatukogude ja rakenduste portimiseks, et neid saaks veebibrauseris k\u00e4ivitada, kui ka k\u00f5rgj\u00f5udlusega veebirakenduste ja WebAssembly-komponentide loomiseks alates nullist. Projekt v\u00f5imaldab kombineerida \u00fches veebirakenduses C\/C++ ja JavaScripti koodi, andes JavaScripti koodile juurdep\u00e4\u00e4su C\/C++-s algselt loodud funktsioonidele ning samas v\u00f5imaldades C\/C++ koodil juurdep\u00e4\u00e4su JavaScripti objektidele, JavaScripti raamatukogudele, Web API-le ja k\u00f5ikidele DOM-i v\u00f5imalustele. Saa loodud kombineeritud kogumid, kus osa koodist kompileeritakse JavaScriptiks ja osa WebAssemblyks. Toetatakse projektide koostamist, mis kasutavad standardseid libc ja libc++ raamatukogusid.      <\/p>\n<p>Emscripteni kompilaatoriga v\u00f5rreldes genereerib Cheerp optimeeritud ja kompaktsemat WebAssembly vahevormi (l\u00f5ppfailide keskmine suurus on 7% v\u00e4iksem). Kontseptuaalselt seisnevad erinevused selles, et Emscripteni kasutatakse WebAssembly objektivorminguna ning see teostab sidumise ja optimeerimise WebAssembly t\u00f6\u00f6tlemise etapis (wasm-opt). Cheerp kasutab teekide ja objekti failide vahevormina LLVM formaadis baitkoodi, mis v\u00f5imaldab rakendada laiemat optimeerimist kogu projektis ja kasutada LLVM tasemel \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445, ilma et oleks vaja t\u00f6\u00f6tlemist p\u00e4rast.      <\/p>\n<p>Cheerpis kasutatakse lisaks PreExecuter'i optimeerijat, mis tagab koodi ennustava t\u00e4itmise kompileerimise etapis, n\u00e4iteks konstruktorite konstantideks muutmiseks, mida kasutatakse globaalsete objektide initsialiseerimiseks. Samuti kasutatakse kompileerimise ajal PartialExecuter'it, mis anal\u00fc\u00fcsi p\u00f5hjal eemaldab koodi, mida kindlasti ei kasutata t\u00e4itmise k\u00e4igus.            <\/p>\n<p>Cheer v\u00f5ib samuti genereerida JavaScripti koodi, et d\u00fcnaamiliselt t\u00f6\u00f6tada m\u00e4luga, mida haldab pr\u00fcgi kogumine. Eelk\u00f5ige ei emuleeri Cheer traditsioonilist aadressiruumi t\u00fc\u00fcpide massiivide abil, vaid pakkub otse C++ objektide kaardistamist JavaScripti objektideks, mis v\u00e4hendab m\u00e4lutarbimist, kuna JavaScripti pr\u00fcgi kogumise s\u00fcsteem suudab eemaldada mittekasutatavad objektid. Tootlikkuse suurendamiseks genereeritud vahepealses koodis kasutatakse WebAssembly SIMD laiendusi, mis v\u00f5imaldavad andmete t\u00f6\u00f6tlemise operatsioonide paralleelse t\u00e4itmise korraldamist.      <\/p>\n<p>Cheerp v\u00f5ib toimida C++ keeles loodud integreeritud klient\/server veebirakenduste platvormina. T\u00e4nap\u00e4eva praktikas arendatakse tavaliselt eraldi brauseris k\u00e4ituvat frontend'i, mis on kirjutatud JavaScript'is, ja eraldi serveripoolt, mis on kirjutatud PHP, Python, Ruby v\u00f5i JavaScript\/Node.js keeles. Cheerp pakub vahendeid terviklikte veebirakenduste loomiseks C++ keeles, kus backend ja frontend toetavad \u00fchte koodibaasi. Kompileerimise k\u00e4igus kompileeritakse serveripoolne osa natiivkoodiks ja liides muudetakse JavaScript'i kujule. Projekti k\u00f5ikide komponentide, sealhulgas JavaScript'i muudetud, silumine toimub C++ keeles algse tekstiga kasutades Source Map tehnoloogiat (vea korral saab n\u00e4ha C++ koodi l\u00f5iku, toetatakse peatuste seadmist C++ koodis ja rida-realt k\u00e4ivitamist C++ koodis).<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58807\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Cheerp 3.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u0434 C\/C++ \u0432 WebAssembly \u0438\u043b\u0438 JavaScript. \u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u043c\u0438\u0441\u0441\u0438\u0432\u043d\u044b\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 Apache 2.0 \u0438 LLVM, \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 GPLv2 \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445. \u041a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0445 LLVM \u0438 [&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-107320","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=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Cheerp 3.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u0434 C\/C++ \u0432 WebAssembly \u0438\u043b\u0438 JavaScript. \u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u043c\u0438\u0441\u0441\u0438\u0432\u043d\u044b\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 Apache 2.0 \u0438 LLVM, \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 GPLv2 \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445. \u041a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0445 LLVM \u0438\" \/>\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\/cheerp-3-0-kompilyator-c-c-v-javascript-perevedyon-na-liczenzii-apache-2-0-i-llvm\" \/>\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\udd47Cheerp 3.0, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 C\/C++ \u0432 JavaScript, \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d \u043d\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 Apache 2.0 \u0438 LLVM | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Cheerp 3.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u0434 C\/C++ \u0432 WebAssembly \u0438\u043b\u0438 JavaScript. \u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u043c\u0438\u0441\u0441\u0438\u0432\u043d\u044b\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 Apache 2.0 \u0438 LLVM, \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 GPLv2 \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445. \u041a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0445 LLVM \u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/cheerp-3-0-kompilyator-c-c-v-javascript-perevedyon-na-liczenzii-apache-2-0-i-llvm\" \/>\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=\"2023-03-17T10:48:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-03-17T11:35:18+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\udd47Cheerp 3.0, C\/C++ kompilaator JavaScriptiks, on \u00fcle viidud Apache 2.0 ja LLVM litsentsidele | ProHoster","description":"Esitletud on Cheerp 3.0 kompilaator, mis v\u00f5imaldab kokku kompileerida mis tahes C\/C++ koodi WebAssembly v\u00f5i JavaScripti. Uus versioon on t\u00e4helepanuv\u00e4\u00e4rne selle poolest, et kompilaatori ja sellega seotud raamatukogude litsentsid on viidud \u00fcle permissiivsetele litsentsidele Apache 2.0 ja LLVM, asendades varem kasutatud piiratud litsentsipoliitika, mis pakkus GPLv2 litsentsi mittekommertslike projektide jaoks ja patentliisingut kommertslike jaoks. Kompilaatori kood p\u00f5hineb LLVMi arendustel ja","canonical_url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/cheerp-3-0-kompilyator-c-c-v-javascript-perevedyon-na-liczenzii-apache-2-0-i-llvm","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\udd47Cheerp 3.0, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 C\/C++ \u0432 JavaScript, \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d \u043d\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 Apache 2.0 \u0438 LLVM | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Cheerp 3.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u0434 C\/C++ \u0432 WebAssembly \u0438\u043b\u0438 JavaScript. \u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u043c\u0438\u0441\u0441\u0438\u0432\u043d\u044b\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 Apache 2.0 \u0438 LLVM, \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 GPLv2 \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445. \u041a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0445 LLVM \u0438","og:url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/cheerp-3-0-kompilyator-c-c-v-javascript-perevedyon-na-liczenzii-apache-2-0-i-llvm","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":"2023-03-17T10:48:10+00:00","article:modified_time":"2023-03-17T11:35:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/107320","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=107320"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/107320\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=107320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=107320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=107320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}