Emscripten

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. március 22-én felülvizsgált verziótól ; az ellenőrzések 12 szerkesztést igényelnek .
Emscripten
Típusú Transzpilátor
Fejlesztő Alon Zakai
Beírva C [2] , C++ és JavaScript
Operációs rendszer platformközi
Hardver platform platformközi
legújabb verzió 3.1.15 [1] ( 2022. július 1. )
Engedély MIT-licenc és az Illinoisi Egyetem nyílt licence [d]
Weboldal emscripten.org


Az Emscripten  egy LLVM bytecode - to - JavaScript fordító , amely webböngészőben futtatható [ 3] . Az LLVM bájtkód C vagy C++ forráskódból szerezhető be .

A projekt alapítója Alon Zakai. Az MIT licence alapján terjesztve .

A JavaScript-fejlesztők gyakran szembesülnek nehéz feladatokkal, amelyek gyakran már meg vannak oldva, de nem a szükséges JavaScript-ben, hanem egy teljesen más programozási nyelven . Több tíz vagy akár több százezer sornyi kód átírása C / C ++-ról JavaScriptre amatőr öröm. Egyáltalán nem növeli az izgalmat.

A portolás további problémája, hogy a kódemuláció köztudottan kevésbé hatékony, mint a natív kódvégrehajtás . És amikor valaki más processzorának működésének lépésről lépésre történő modellezésének sebessége nem elegendő, hozzá kell adni a dinamikus újrafordítást - az emulált kód szakaszainak automatikus fordítását JavaScript-be. Meglehetősen nehéz, de miután egy intelligens JIT-fordító újrafordította, a kód gyorsabbá válik.

Az Emscripten projekt fejlesztési célja egy olyan eszköz létrehozása, amely lehetővé teszi a kód futtatását az interneten , függetlenül attól, hogy a kód milyen programozási nyelven íródott. Az Emscripten lehetővé teszi, hogy az LLVM bájtkódot JavaScript-kódba fordítsa, amely végrehajtható egy webböngészőben, csak egy normál JavaScript-motor használatával , további bővítmények nélkül. Az LLVM bájtkód előállítható C/C++ forrásokból az llvm-gcc és clang fordítókkal , valamint egy másik programozási nyelv kódjából, amelyhez létezik LLVM frontend. Az Emscripten támogatja az SDL kimenet lefordítását vászonon keresztül , és támogatja az OpenGL -t is a WebGL -en keresztül .

A böngészőben való futtatáshoz sikeresen újrafordított projektek közé tartozik a NetBSD kernel , a CPython , a Ruby és a Lua interpreterek , a Poppler PDF - nézegető , a FreeType TrueType betűtípus renderelő rendszer , a H.264 videó dekóder , a Doom [4] és a Doom 3 [5] , az Unreal Engine játékmotor [6] [7] és mások. [nyolc]

Jegyzetek

  1. 3.1.15 . Letöltve: 2022. július 1. Az eredetiből archiválva : 2022. július 1..
  2. Az emscripten nyílt forráskódú projekt az Open Hubon: Nyelvek oldala - 2006.
  3. Walton, Zach Easily Port C++ to HTML5/JavaScript with Emscripten (hivatkozás nem érhető el) . webpronews . iEntry Network (2012. április 4.). Letöltve: 2018. július 30. Az eredetiből archiválva : 2013. július 30. 
  4. JS-DOS/GAMES/DOOM . Letöltve: 2018. július 30. Az eredetiből archiválva : 2018. július 19.
  5. D3Wasm: az id Tech 4 / Doom 3 motor portja a WebAssembly-hez . Letöltve: 2019. március 1. Az eredetiből archiválva : 2019. március 4.
  6. Unreal Engine . Letöltve: 2018. július 30. Az eredetiből archiválva : 2015. április 11.
  7. Mozilla és Epic Preview Unreal Engine 4 fut a Firefox alatt . Letöltve: 2018. július 30. Az eredetiből archiválva : 2014. október 6..
  8. Az Emscripten fordító elérte a lehetőséget, hogy újraépítse saját archív példányát 2014. április 7-én a Wayback Machine -en // opennet.ru 2012.11.13 .