Emscripten
Тип | транскомпілятор |
---|---|
Розробник | Alon Zakai |
Стабільний випуск | 1.28 (12 грудня, 2014 ) |
Платформа | кросплатформова програма |
Операційна система | кросплатформова програма |
Мова програмування | JavaScript |
Стан розробки | активний |
Ліцензія | MIT License |
Репозиторій | github.com/emscripten-core/emscripten |
Вебсайт | emscripten.org |
Emscripten — компілятор типу код-у-код або транскомпілятор. На вході він приймає LLVM-байткод, звичайно отриманий компіляцією початкового коду мовою C або C++. На виході він видає файл з кодом мовою JavaScript, що може бути запущений у вебпереглядачі.[1]
Засновником проекту є Алон Закай (Alon Zakai). Поширюється на умовах ліцензії MIT.
Основною метою розвитку проекту Emscripten є створення інструменту, який дозволив би виконувати у Вебі код незалежно від мови програмування, якою цей код написаний. Emscripten дозволяє здійснити компіляцію біткода LLVM в скрипт мовою JavaScript, який може бути виконаний всередині веббраузера, використовуючи тільки штатний JavaScript-рушій, без необхідності задіяння додаткових плаґінів. Біткод LLVM може бути згенерований з початкових текстів C/C++ за допомогою компіляторів lvm-gcc і clang, а також з коду на будь-якою іншою мовою програмування, для якої є LLVM-фронтенд. Emscripten підтримує трансляцію виведення бібліотеки SDL через canvas, а також надає підтримку OpenGL через WebGL.
Серед проектів, які вдалося успішно перезібрати для роботи в браузері, можна відзначити ядро NetBSD, інтерпретатори CPython, Ruby і Lua, PDF-переглядач Poppler, систему рендеринга TrueType-шрифтів FreeType, декодувальник відео H.264, гру Doom, 3D гру BananaBread засновану на рушії Sauerbraten, ігровий рушій Unreal Engine[2][3], Quake.[4]
- ↑ Walton, Zach (4 квітня 2012). Easily Port C++ To HTML5/JavaScript With Emscripten. WebProNews. iEntry Network. Архів оригіналу за 30 липня 2013. Процитовано 4 квітня 2014.
- ↑ Unreal Engine. Архів оригіналу за 11 квітня 2015. Процитовано 4 квітня 2014.
- ↑ Mozilla and Epic Preview Unreal Engine 4 Running in Firefox. Архів оригіналу за 6 жовтня 2014. Процитовано 4 квітня 2014.
- ↑ Компилятор Emscripten достиг возможности собственной пересборки [Архівовано 7 квітня 2014 у Wayback Machine.] // opennet.ru 13.11.2012