Emscripten

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Emscripten
Emscripten.jpg
Розробник(и) Alon Zakai
Стабільний випуск 1.28 (12 грудня 2014; 77 днів тому)
Написано на JavaScript
Стан розробки активний
Тип транскомпілятор
Ліцензія MIT License
Сайт 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]

Виноски[ред.ред. код]

Дивись також[ред.ред. код]