Emscripts
Emscripten on LLVM -Web- kääntäjä . Emscripten kääntää LLVM- kokoonpanokoodin tavalliseen JavaScriptiin tai WebAssembly: hen . Käännöksessä noudatetaan erilaisia lähestymistapoja käytetystä ohjelmointikielestä riippuen. Lähdekoodi joko käännetään suoraan LLVM- tavukoodista JavaScriptiksi (esim. C ++ tai C), tai ohjelmointikielen suoritusympäristö käännetään JavaScriptiksi. Käännettyä suoritusympäristöä käytetään sitten vastaavan ohjelmointikielen (esim. CPython ) koodin suorittamiseen . Emscripten tukee useita ohjelmointikieliä, mutta kehittäjät keskittyvät C: n ja C ++ : n kääntämiseen .
Esimerkki Emscriptsin käytöstä osoittaa Unreal Engine 4: n siirtämisen JavaScriptiin.
Käännösprosessi
Kokoamisprosessin ensimmäinen vaihe on LLVM- käyttöliittymä. Käytetty LLVM-käyttöliittymä kääntää käytetyn kielen lähdekoodin LLVM-kokoonpanokoodiksi (LLVM Intermediate Representation). Esimerkiksi Clangia voidaan käyttää C ++ -koodin kääntämiseen . LLVM kääntää sitten generoidun LLVM-kokoonpanokoodin kohdekielelle vastaavalla taustalla. Normaalisti tietyn alustan suoritettava assembler-konekoodi generoidaan taustajärjestelmään. Emscript-kääntäjä ottaa sen sijaan tämän roolin. Emscript-kääntäjä muuntaa luodun LLVM-kokoonpanokoodin tehokkaaksi käännettäväksi JavaScript -osajoukoksi ( asm.js ).
esitys
Päinvastoin kuin natiivisovellusten suorituksessa, komentosarjan luoman JavaScript-koodin suoritusnopeus on huomattavasti pienempi. Käytetyllä selaimella on myös tärkeä rooli; suorituskyky vaihtelee suuresti sovelluksesta riippuen. Optimistinen ohje on suunnilleen kaksi kertaa suoritusaika. Suorituskykyisten sovellusten tapauksessa myös suoritusympäristö on määriteltävä tarkasti.
Lisenssi
Emscripteniä voidaan käyttää ilmaisena ohjelmistona kahdella eri lisenssillä: MIT-lisenssi ja Illinoisin yliopisto / NCSA: n avoimen lähdekoodin lisenssi .
käyttää
Joulukuun 23. päivästä lähtien 2014 käytetty Internet Archive , joka on emscripten muunnettu DOSBox emuloinnin selainpohjainen esittely tuhansia arkistoituja DOS - tietokonepelit , vain "koulutus ja tutkimus" .
Yksittäiset todisteet
- ↑ Zakai, Alon. "Emscripten: LLVM-JavaScript-kääntäjä." ACM: n kansainvälisen neuvottelukumppanin julkaisut olio-ohjelmointijärjestelmien kielistä ja sovellusten kumppanista. ACM, 2011.
- ↑ https://github.com/kripken/emscripten/wiki#programming-languages
- ↑ https://blog.mozilla.org/blog/2014/03/12/mozilla-and-epic-preview-unreal-engine-4-running-in-firefox/
- ↑ http://arewefastyet.com/#machine=11&view=breakdown&suite=asmjs-ubench
- ↑ https://kripken.github.io/mloc_emscripten_talk/gindex.html#/11
- ↑ Abby Ohlheiser: Voit nyt pelata selaimessasi lähes 2400 MS-DOS-videopeliä . Washington Post . 5. tammikuuta 2015. Haettu 8. tammikuuta 2015.
- ↑ Jokainen uusi Boot a Miracle, kirjoittanut Jason Scott (23. joulukuuta 2014)
- ↑ kokoelma: softwarelibrary_msdos Internet-arkistossa (29. joulukuuta 2014)
- ↑ Internet-arkiston käyttöehdot, tietosuojakäytäntö ja tekijänoikeuskäytäntö . archive.org. 31. joulukuuta 2014. Haettu 8. tammikuuta 2015: " Pääsy arkiston kokoelmiin tarjotaan sinulle ilmaiseksi ja se myönnetään vain apurahoihin ja tutkimustarkoituksiin. "