www.wikidata.de-de.nina.az
Emscripten ist ein LLVM zu Web Compiler Emscripten kompiliert LLVM Assemblercode zu Standard JavaScript oder zu WebAssembly Je nach verwendeter Programmiersprache werden bei der Ubersetzung verschiedene Ansatze verfolgt Der Sourcecode wird entweder direkt von LLVM Bytecode in JavaScript ubersetzt z B C oder C oder die Ausfuhrungsumgebung der Programmiersprache wird in JavaScript ubersetzt Die kompilierte Ausfuhrungsumgebung wird dann genutzt um Code der jeweiligen Programmiersprache auszufuhren z B CPython 1 Emscripten unterstutzt eine ganze Reihe von Programmiersprachen 2 der Fokus der Entwickler liegt aber auf der Ubersetzung von C und C Ein Beispiel fur die Anwendung von Emscripten zeigt die Portierung der Unreal Engine 4 auf JavaScript 3 Inhaltsverzeichnis 1 Ubersetzungsvorgang 2 Performance 3 Lizenz 4 Verwendung 5 Einzelnachweise 6 WeblinksUbersetzungsvorgang BearbeitenDie erste Stufe des Kompiliervorgangs ist das LLVM Frontend Das verwendete LLVM Frontend ubersetzt den Sourcecode der verwendeten Sprache in LLVM Assemblercode LLVM Intermediate Representation Fur die Ubersetzung von C Code kann beispielsweise Clang verwendet werden Der erzeugte LLVM Assemblercode wird anschliessend von LLVM mit dem entsprechenden Backend in die Zielsprache ubersetzt Normalerweise wurde im Backend der ausfuhrbare Assembler Maschinencode fur eine bestimmte Plattform erzeugt Diese Rolle ubernimmt stattdessen der Emscripten Compiler Der Emscripten Compiler ubersetzt den erzeugten LLVM Assemblercode zu einem performant ubersetzbarem Subset von JavaScript asm js Performance BearbeitenIm Gegensatz zur Ausfuhrung nativer Applikationen ist die Ausfuhrungsgeschwindigkeit von Emscripten generiertem JavaScript Code deutlich geringer Dabei spielt auch der verwendete Browser eine grosse Rolle je nach Anwendung variiert die Performance stark Ein optimistischer Richtwert ist eine ca zweifach langere Ausfuhrungszeit 4 5 Bei performance kritischen Anwendungen muss daher auch die Ausfuhrungsumgebung genau spezifiziert werden Lizenz BearbeitenEmscripten ist als freie Software unter zwei verschiedenen Lizenzen verwendbar MIT Lizenz und University of Illinois NCSA Open Source License Verwendung BearbeitenSeit dem 23 Dezember 2014 verwendet das Internet Archive eine Emscripten konvertierte DOSBox Emulation fur Browser basierte Prasentation von Tausenden archivierter DOS Computerspiele 6 7 8 ausschliesslich fur Schul und Forschungszwecke 9 Einzelnachweise Bearbeiten Zakai Alon Emscripten an LLVM to JavaScript compiler Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion ACM 2011 Porting Examples and Demos Abgerufen am 19 Oktober 2022 https blog mozilla org blog 2014 03 12 mozilla and epic preview unreal engine 4 running in firefox http arewefastyet com machine 11 amp view breakdown amp suite asmjs ubench https kripken github io mloc emscripten talk gindex html 11 Abby Ohlheiser You can now play nearly 2 400 MS DOS video games in your browser Washington Post 5 Januar 2015 abgerufen am 8 Januar 2015 Each New Boot a Miracle by Jason Scott 23 Dezember 2014 collection softwarelibrary msdos in the Internet Archive 29 Dezember 2014 Internet Archive s Terms of Use Privacy Policy and Copyright Policy archive org 31 Dezember 2014 abgerufen am 8 Januar 2015 Access to the Archive s Collections is provided at no cost to you and is granted for scholarship and research purposes only Weblinks BearbeitenProjektseite emscripten org englisch Projektseite auf GitHub Liste von Demos und Anleitungen Abgerufen von https de wikipedia org w index php title Emscripten amp oldid 229151445