{"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\/de\/blog\/novosti-interneta\/cheerp-3-0-kompilyator-c-c-v-javascript-perevedyon-na-liczenzii-apache-2-0-i-llvm","title":{"rendered":"Cheerp 3.0, ein C\/C++-Compiler f\u00fcr JavaScript, wurde auf die Lizenzen Apache 2.0 und LLVM umgestellt.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Der Compiler Cheerp 3.0 wurde vorgestellt, der es erm\u00f6glicht, jeden C\/C++-Code in WebAssembly oder JavaScript zu kompilieren. Der neue Branch zeichnet sich dadurch aus, dass der Compiler und die zugeh\u00f6rigen Bibliotheken nun permissive Lizenzen wie die Apache 2.0 und LLVM verwenden, anstelle der zuvor angewandten restriktiven Lizenzpolitik, die eine GPLv2-Lizenz f\u00fcr nicht-kommerzielle Projekte und eine propriet\u00e4re Lizenz f\u00fcr kommerzielle Anwendungen bot. Der Compiler-Code basiert auf den Entwicklungen von LLVM und Clang und umfasst zus\u00e4tzliche Optimierungen zur Verbesserung der Leistung und zur Reduzierung der Gr\u00f6\u00dfe des kompilierten Ergebnisses.      <\/p>\n<p>Cheerp kann sowohl f\u00fcr das Portieren vorhandener C\/C++-Bibliotheken und -Anwendungen zur Ausf\u00fchrung im Browser als auch f\u00fcr die Erstellung leistungsstarker Webanwendungen und WebAssembly-Komponenten von Grund auf verwendet werden. Das Projekt erm\u00f6glicht es, in einer einzigen Webanwendung C\/C++- und JavaScript-Code zu kombinieren, sodass JavaScript auf Funktionen zugreifen kann, die urspr\u00fcnglich in C\/C++ entwickelt wurden, und im C\/C++-Code auf JavaScript-Objekte, JavaScript-Bibliotheken, Web-APIs und s\u00e4mtliche DOM-Funktionen zuzugreifen. Es ist m\u00f6glich, kombinierte Builds zu erstellen, bei denen Teile des Codes in JavaScript und andere Teile in WebAssembly kompiliert werden. Die Erstellung von Projekten, die die Standardbibliotheken libc und libc++ verwenden, wird unterst\u00fctzt.      <\/p>\n<p>Im Vergleich zum Emscripten-Compiler erzeugt Cheerp optimierteren und kompakteren WebAssembly-Zwischencode (im Durchschnitt sind die Enddateien um 7 % kleiner). Konzeptuell bestehen die Unterschiede darin, dass Emscripten als Objektformat f\u00fcr WebAssembly dient und das Linking sowie die Optimierung in der Post-Processing-Phase (wasm-opt) durchf\u00fchrt. Cheerp hingegen verwendet zur Repr\u00e4sentation von Bibliotheken und Objektdateien Bytecode im LLVM-Format, was eine breitere Palette von Optimierungen erm\u00f6glicht, die das gesamte Projekt abdecken und Metadaten auf LLVM-Ebene nutzen, ohne dass eine Nachbearbeitung erforderlich ist.      <\/p>\n<p>Zus\u00e4tzlich wird in Cheerp der PreExecuter-Optimierer eingesetzt, der eine vorzeitige Ausf\u00fchrung des Codes w\u00e4hrend der Kompilierung erm\u00f6glicht, um beispielsweise Konstruktoren, die zur Initialisierung globaler Objekte dienen, in Konstanten umzuwandeln. Des Weiteren kommt bei der Kompilierung der PartialExecuter zum Einsatz, der auf Basis der Analyse der Funktionsparameter Code entfernt, der w\u00e4hrend der Ausf\u00fchrung garantiert nicht verwendet wird.            <\/p>\n<p>Cheer kann auch JavaScript-Code generieren, der dynamisch mit dem durch den Garbage Collector verwalteten Speicher arbeitet. Anstatt den traditionellen Adressraum mit typisierten Arrays zu emulieren, bietet Cheer eine direkte Zuordnung von C++-Objekten zu JavaScript-Objekten, was den Speicherverbrauch reduziert, da der JavaScript-Garbage-Collector ungenutzte Objekte entfernen kann. Um die Leistung des generierten Intermediate Codes in WebAssembly zu steigern, werden SIMD-Erweiterungen verwendet, die die Parallelisierung der Datenoperationen erm\u00f6glichen.      <\/p>\n<p>Cheerp kann als Plattform zur Erstellung integrierter Client-\/Server-Webanwendungen in C++ genutzt werden. In der aktuellen Praxis werden normalerweise das im Browser ausf\u00fchrbare Frontend, das in JavaScript geschrieben ist, und der separate Backend-Teil, der in PHP, Python, Ruby oder JavaScript\/Node.js programmiert ist, unabh\u00e4ngig entwickelt. Cheerp bietet die M\u00f6glichkeit, vollst\u00e4ndige Webanwendungen in C++ zu erstellen, bei denen Backend und Frontend aus einer einzigen Codebasis stammen. W\u00e4hrend des Kompilierungsprozesses wird der Backend-Teil in nativen Code \u00fcbersetzt, w\u00e4hrend das Interface in eine JavaScript-Darstellung umgewandelt wird. Das Debugging aller Projektkomponenten, einschlie\u00dflich der in JavaScript umgewandelten Teile, erfolgt anhand der C++-Quelltexte unter Verwendung der Source Map-Technologie (bei einem Fehler wird der betreffende Codeabschnitt in C++ angezeigt, und es wird die M\u00f6glichkeit unterst\u00fctzt, Haltepunkte im C++-Code zu setzen sowie schrittweises Debugging des C++-Codes durchzuf\u00fchren).<br \/>\n<br \/>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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++ Compiler f\u00fcr JavaScript, jetzt unter Apache 2.0 und LLVM lizenziert | ProHoster","description":"Der Cheerp 3.0 Compiler wurde vorgestellt, der es erm\u00f6glicht, jeden C\/C++-Code in WebAssembly oder JavaScript zu kompilieren. Diese neue Version ist bemerkenswert, da der Compiler und die zugeh\u00f6rigen Bibliotheken auf permissive Lizenzen wie Apache 2.0 und LLVM umgestellt wurden. Dies ersetzt die zuvor verwendete eingeschr\u00e4nkte Lizenzierung, die eine GPLv2-Lizenz f\u00fcr nicht-kommerzielle Projekte und eine propriet\u00e4re Lizenz f\u00fcr kommerzielle Anwendungen anbot. Der Code des Compilers basiert auf den Entwicklungen von LLVM und","canonical_url":"https:\/\/prohoster.info\/de\/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":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/107320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=107320"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/107320\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=107320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=107320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=107320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}