Emscripten

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Emscripten
Логотип программы Emscripten
Тип транспайлер и свободное и открытое программное обеспечение
Разработчик Alon Zakai[вд]
Написана на Си[2], C++ и JavaScript
Операционная система кроссплатформенность
Аппаратная платформа кроссплатформенность
Последняя версия
Репозиторий github.com/emscripten-co…
Лицензия лицензия MIT и открытая лицензия Иллинойсского университета[вд]
Сайт emscripten.org (англ.)

Emscripten — компилятор LLVM-байткода в код JavaScript, который может быть запущен в веб-браузере[3]. LLVM-байткод может быть получен из исходного кода на языке C или C++.

Основателем проекта является Алон Закай (Alon Zakai). Распространяется по лицензии MIT.

Целью развития проекта Emscripten является создание инструмента, который позволил бы выполнять в Интернете код независимо от языка программирования, на котором этот код написан. Emscripten позволяет осуществить компиляцию байткода LLVM в код на языке JavaScript, который может быть выполнен внутри веб-браузера, используя только штатный JavaScript-движок, без необходимости задействования дополнительных плагинов. Байткод LLVM может быть сгенерирован из исходных текстов C / C ++ с помощью компиляторов llvm-gcc и clang, а также из кода на другом языке программирования, для которого существует LLVM-фронтенд. Emscripten поддерживает трансляцию вывода библиотеки SDL через canvas, а также оказывает поддержку OpenGL через WebGL.

Среди проектов, которые удалось успешно пересобрать для работы в браузере, можно отметить ядро NetBSD, интерпретаторы CPython, Ruby и Lua, PDF-просмотрщик Poppler, систему рендеринга TrueType-шрифтов FreeType, декодировщик видео H.264, игры Doom[4] и Doom 3[5], игровой движок Unreal Engine[6][7], и другие.[8]

Примечания

[править | править код]
  1. Release 3.1.72 — 2024.
  2. The emscripten Open Source Project on Open Hub: Languages Page — 2006.
  3. Walton, Zach Easily Port C++ To HTML5/JavaScript With Emscripten. WebProNews. iEntry Network (4 апреля 2012). Дата обращения: 30 июля 2018. Архивировано из оригинала 30 июля 2013 года.
  4. JS-DOS / GAMES / DOOM. Дата обращения: 30 июля 2018. Архивировано 19 июля 2018 года.
  5. D3Wasm: a port of id Tech 4 / Doom 3 engine to WebAssembly. Дата обращения: 1 марта 2019. Архивировано 4 марта 2019 года.
  6. Unreal Engine. Дата обращения: 30 июля 2018. Архивировано 11 апреля 2015 года.
  7. Mozilla and Epic Preview Unreal Engine 4 Running in Firefox. Дата обращения: 30 июля 2018. Архивировано 6 октября 2014 года.
  8. Компилятор Emscripten достиг возможности собственной пересборки Архивная копия от 7 апреля 2014 на Wayback Machine // opennet.ru 13.11.2012