Emscripten
Originalautor (en) | Alon Zakai |
---|---|
Stabile Version | 2.0.29 / 26. August 2021[1] |
Repository | |
Geschrieben in | C, C ++, JavaScript[2] |
Typ | Compiler |
Lizenz | MIT -Lizenz, Universität von Illinois/NCSA Open Source -Lizenz |
Webseite | Emscripten |
Emscripten ist ein Llvm/Klang-basierend Compiler das kompiliert C und C ++ Quellcode zu WebAssembly[3] (oder zu einer Teilmenge von JavaScript bekannt als ASM.JS,[4] Das ursprüngliche Zusammenstellung Ziel vor dem Aufkommen der WebAssembly im Jahr 2017), hauptsächlich zur Ausführung in Internetbrowser.
Mit EMSCIPTEN können Anwendungen und Bibliotheken, die in C oder C ++ geschrieben wurden interpretiert oder dynamisch kompiliert JavaScript. Mit der neueren Entwicklung der WebAssembly System Interface (WASI)[5] und WebAssembly Laufzeiten wie zum Beispiel Node.js, Wasmtime,[6] und Wasmer,[7] EMSCIPTEN kann auch verwendet werden, um für die Ausführung in Nicht-Web-Einbettungen für die Ausführung zu kompilieren.
Verwendungszweck
Emscripten wurde daran gewöhnt Hafen Eine Anzahl von C/C ++ - Code -Basen für WebAssembly, einschließlich Unwirklicher Motor 3, Sqlite, Meshlab,[8] Kugelphysik.[9] Autocad,[10] und eine Untergruppe der QT -Anwendungsrahmen.[11] Weitere Beispiele für Software, die auf WebAssembly über Emscripten portiert sind, sind Folgendes:
Game Engines
Das Einheit, Godot, und Unwirklich Game Engines bieten eine Exportoption für HTML5 unter Verwendung von EMSCIPTEN.[12][13][14]
Frameworks & Toolkits
OpenFrameworks Exportiert native C ++ - Anwendungen in HTML5 über EMSCIPTEN.[15] EMSCIPTEN-QT ermöglicht es, Anwendungen zu kompilieren, die mit dem geschrieben wurden QT -Anwendungsrahmen zu WebAssembly.[11]
Software -Archivierung
Im Dezember 2014 die Internetarchiv gestartet a Dosbox Emscripten kompiliertem Emulator, um einen Browser-basierten Zugriff auf Tausende von Archivierten zu gewährleisten MS-DOS und PC -Programme.[16][17][18]
Siehe auch
- ASM.JS
- Google Native Client (PNACl)
- Haxe
- WebAssembly
Verweise
- ^ "Emscripten-Core/Emscripten: Veröffentlichungen". Emscripten-Core/Emscripten. GitHub. Abgerufen 2021-02-09.
- ^ "Emscripten-Core/Emscripten: Emscripten: Ein LLVM-to-JavaScript-Compiler". GitHub.
C: 40,0%; C ++: 34,4%; JavaScript: 17,4%.
- ^ WebAssembly · Emscripten-Core/Emscripten Wiki · GitHub
- ^ Walton, Zach (2012-04-04). "Einfach Port C ++ zu HTML5/JavaScript mit EMSCIPTEN". Webpraews. Ientry -Netzwerk. Archiviert von das Original Am 2013-07-30. Abgerufen 2012-04-25.
- ^ Das WASMTime -Projekt. "WASI: Die Webassembly -Systemschnittstelle". Wasi.dev. Das WASMTime -Projekt. Abgerufen 2021-02-10.
- ^ Das WASMTime -Projekt. "WASMTIME: Eine kleine und effiziente Laufzeit für WebAssembly & WASI". WASMTIME.DEV. Das WASMTime -Projekt. Abgerufen 2021-02-10.
- ^ Wasmer. "Wasmer: Die universelle Webassembly -Laufzeit". Wasmer.io. Wasmer. Abgerufen 2021-02-10.
- ^ http://www.meshlabjs.net - Homepage der experimentellen, clientbasierten JavaScript, Version von Meshlab Das läuft in einem Browser
- ^ "Beispiele und Demos Porting". Emscripten Github Wiki. Abgerufen 2016-03-01.
- ^ "Die Zukunft des Autocad". Durch die Schnittstelle. Abgerufen 2018-05-09..
- ^ a b "QT für WebAssembly".
- ^ "Unity Game Engine auf dem Weg zum Browser ohne Plug-Ins". ARS Technica. 18. März 2014. Abgerufen 2016-03-01.
- ^ "Die Zukunft des Scripting in Unity - Unity Blog". Unity Technologies Blog. Abgerufen 2016-03-01.
- ^ "Tappy Huhn". www.unrealengine.com. Abgerufen 2016-03-01.
- ^ "OpenFrameworks Setup für Emscripten". OpenFrameworks. Abgerufen 2016-03-04.
- ^ Ohlheiser, Abby (2015-01-05). "Sie können jetzt fast 2.400 MS-DOS-Videospiele in Ihrem Browser abspielen.". Die Washington Post. Abgerufen 2015-01-08.
- ^ Jeder neue Stiefel ein Wunder Von Jason Scott (23. Dezember 2014)
- ^ "Internet Archivsuche:" Sammlung: Softwarelibrary_MSDOS "". archive.org. Abgerufen 2016-03-01.