Emscripten

Emscripten
Emscripten logo.svg
Originalautor (en) Alon Zakai
Stabile Version
2.0.29 / 26. August 2021; vor 11 Monaten[1]
Repository
Geschrieben in C, C ++, JavaScript[2]
Typ Compiler
Lizenz MIT -Lizenz, Universität von Illinois/NCSA Open Source -Lizenz
Webseite Emscripten.org Edit this on Wikidata

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

Verweise

  1. ^ "Emscripten-Core/Emscripten: Veröffentlichungen". Emscripten-Core/Emscripten. GitHub. Abgerufen 2021-02-09.
  2. ^ "Emscripten-Core/Emscripten: Emscripten: Ein LLVM-to-JavaScript-Compiler". GitHub. C: 40,0%; C ++: 34,4%; JavaScript: 17,4%.
  3. ^ WebAssembly · Emscripten-Core/Emscripten Wiki · GitHub
  4. ^ 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.
  5. ^ Das WASMTime -Projekt. "WASI: Die Webassembly -Systemschnittstelle". Wasi.dev. Das WASMTime -Projekt. Abgerufen 2021-02-10.
  6. ^ Das WASMTime -Projekt. "WASMTIME: Eine kleine und effiziente Laufzeit für WebAssembly & WASI". WASMTIME.DEV. Das WASMTime -Projekt. Abgerufen 2021-02-10.
  7. ^ Wasmer. "Wasmer: Die universelle Webassembly -Laufzeit". Wasmer.io. Wasmer. Abgerufen 2021-02-10.
  8. ^ http://www.meshlabjs.net - Homepage der experimentellen, clientbasierten JavaScript, Version von Meshlab Das läuft in einem Browser
  9. ^ "Beispiele und Demos Porting". Emscripten Github Wiki. Abgerufen 2016-03-01.
  10. ^ "Die Zukunft des Autocad". Durch die Schnittstelle. Abgerufen 2018-05-09..
  11. ^ a b "QT für WebAssembly".
  12. ^ "Unity Game Engine auf dem Weg zum Browser ohne Plug-Ins". ARS Technica. 18. März 2014. Abgerufen 2016-03-01.
  13. ^ "Die Zukunft des Scripting in Unity - Unity Blog". Unity Technologies Blog. Abgerufen 2016-03-01.
  14. ^ "Tappy Huhn". www.unrealengine.com. Abgerufen 2016-03-01.
  15. ^ "OpenFrameworks Setup für Emscripten". OpenFrameworks. Abgerufen 2016-03-04.
  16. ^ 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.
  17. ^ Jeder neue Stiefel ein Wunder Von Jason Scott (23. Dezember 2014)
  18. ^ "Internet Archivsuche:" Sammlung: Softwarelibrary_MSDOS "". archive.org. Abgerufen 2016-03-01.

Externe Links