Emscripten

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

Emscripten — компилятор LLVM-байткода в код JavaScript, который может быть запущен в веб-браузере[4]. 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[5] и Doom 3[6], игровой движок Unreal Engine[7][8], и другие.[9]

Примечания

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

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.