stringtranslate.com

Inscriptos

Emscripten es un compilador basado en LLVM / Clang que compila código fuente C y C++ en WebAssembly , [3] principalmente para su ejecución en navegadores web .

Emscripten permite compilar aplicaciones y bibliotecas escritas en C o C++ con antelación y ejecutarlas de forma eficiente en navegadores web, normalmente a velocidades comparables o superiores a las de JavaScript interpretado o compilado dinámicamente . Incluso emula un sistema operativo POSIX completo , lo que permite a los programadores utilizar funciones de la biblioteca estándar de C (libc). [4]

Con el desarrollo más reciente de la Interfaz del sistema WebAssembly (WASI) [5] y los entornos de ejecución de WebAssembly como Node.js , Wasmtime, [6] y Wasmer, [7] Emscripten también se puede utilizar para compilar en WebAssembly para su ejecución en incrustaciones que no sean web.

Uso

Emscripten se ha utilizado para portar una serie de bases de código C/C++ a WebAssembly, incluyendo Unreal Engine 3 , SQLite , [8] MeshLab , [9] Bullet physics , [10] AutoCAD , [11] y un subconjunto del marco de aplicación Qt . [12] Otros ejemplos de software portado a WebAssembly a través de Emscripten incluyen los siguientes:

Motores de juego

Los motores de juego Unity , Defold y Godot ofrecen una opción de exportación a HTML5, utilizando Emscripten. [13] [14] [15] Unreal Engine tenía esta opción de exportación, pero se ha migrado fuera del motor a un complemento de un miembro de la comunidad. [16]

Marcos y kits de herramientas

openFrameworks exporta aplicaciones nativas de C++ a HTML5 a través de Emscripten. [17] emscripten-qt permite compilar aplicaciones escritas utilizando el marco de aplicaciones Qt en WebAssembly. [12]

Archivado de software

En diciembre de 2014, Internet Archive lanzó un emulador DOSBox compilado en Emscripten para proporcionar acceso basado en navegador a miles de programas MS-DOS y PC archivados. [18] [19] [20]

Véase también

Referencias

  1. ^ "Versión 3.1.67". 16 de septiembre de 2024. Consultado el 21 de septiembre de 2024 .
  2. ^ "emscripten-core/emscripten: Emscripten: un compilador de LLVM a JavaScript". GitHub . C: 40,0 %; C++: 34,4 %; JavaScript: 17,4 %.
  3. ^ WebAssembly · Wiki emscripten-core/emscripten · GitHub
  4. ^ Clark, Lin. "Estandarización de WASI: una interfaz de sistema para ejecutar WebAssembly fuera de la web – Mozilla Hacks - el blog para desarrolladores web". Mozilla Hacks – el blog para desarrolladores web . Mozilla . Consultado el 31 de octubre de 2022 .
  5. ^ El proyecto Wasmtime. "WASI: La interfaz del sistema WebAssembly". WASI.dev . El proyecto Wasmtime . Consultado el 10 de febrero de 2021 .
  6. ^ El proyecto Wasmtime. "Wasmtime: un entorno de ejecución pequeño y eficiente para WebAssembly y WASI". Wasmtime.dev . El proyecto Wasmtime . Consultado el 10 de febrero de 2021 .
  7. ^ Wasmer. "Wasmer: el entorno de ejecución universal de WebAssembly". Wasmer.io . Wasmer . Consultado el 10 de febrero de 2021 .
  8. ^ "Índice de documentación de sqlite3 WebAssembly y JavaScript". SQLite . Consultado el 8 de mayo de 2023 .
  9. ^ http://www.meshlabjs.net - Página de inicio de la versión experimental, basada en cliente y en javascript de MeshLab que se ejecuta dentro de un navegador
  10. ^ "Ejemplos y demostraciones de portabilidad". Wiki de GitHub de Emscripten . Consultado el 1 de marzo de 2016 .
  11. ^ "El futuro de AutoCAD". A través de la interfaz . Consultado el 9 de mayo de 2018 ..
  12. ^ ab "Qt para WebAssembly".
  13. ^ "El motor de juego Unity llega al navegador sin complementos". Ars Technica . 18 de marzo de 2014 . Consultado el 1 de marzo de 2016 .
  14. ^ "El futuro de la creación de scripts en Unity – Blog de Unity". Blog de Unity Technologies . Consultado el 1 de marzo de 2016 .
  15. ^ "Desarrollo HTML de Defold". Documentación de Defold . Consultado el 18 de diciembre de 2023 .
  16. ^ "Desarrollo de HTML5 con Unreal". Documentación de Unreal . 18 de diciembre de 2023 . Consultado el 18 de diciembre de 2018 .
  17. ^ "Configuración de openFrameworks para Emscripten". openFrameworks . Consultado el 4 de marzo de 2016 .
  18. ^ Ohlheiser, Abby (5 de enero de 2015). "Ahora puedes jugar a casi 2400 videojuegos MS-DOS en tu navegador". The Washington Post . Consultado el 8 de enero de 2015 .
  19. ^ Cada bota nueva es un milagro, por Jason Scott (23 de diciembre de 2014)
  20. ^ "Búsqueda en Internet Archive: "collection:softwarelibrary_msdos"". archive.org . Consultado el 1 de marzo de 2016 .

Enlaces externos