Автор (ы) оригинала | Алон Закай |
---|---|
Стабильный выпуск | 2.0.13 / 29 января 2021 г . [1] |
Репозиторий | |
Написано в | C , C ++ , JavaScript [2] |
Тип | Компилятор |
Лицензия | Лицензия MIT |
Интернет сайт | emscripten |
Emscripten является LLVM / Clang основанное компилятор , который компилирует C и C ++ исходный код для WebAssembly [3] (или к подмножеству JavaScript , известного как asm.js , [4] своей первоначальной цели компиляции до появления WebAssembly в 2017 году), в первую очередь для исполнения в веб-браузерах .
Emscripten позволяет заранее компилировать приложения и библиотеки, написанные на C или C ++, и эффективно запускать их в веб-браузерах, как правило, со скоростью, сравнимой или большей, чем у интерпретируемого или динамически компилируемого JavaScript. С недавней разработкой системного интерфейса WebAssembly (WASI) [5] и сред выполнения WebAssembly, таких как Node.js , Wasmtime, [6] и Wasmer [7], Emscripten также можно использовать для компиляции в WebAssembly для выполнения в не- Веб-вложения тоже.
Использование [ править ]
Emscripten был использован для порта ряда C / C ++ код база в WebAssembly, в том числе Unreal Engine 3 , SQLite , MeshLab , [8] физика пули . [9] AutoCAD , [10] и подмножество фреймворка приложения Qt . [11] Другие примеры программного обеспечения, перенесенного на WebAssembly через Emscripten, включают следующее:
Игровые движки [ править ]
Единство , Годо , и Unreal движки предоставляют возможность экспорта в формат HTML5, используя Emscripten. [12] [13] [14]
Фреймворки и инструменты [ править ]
openFrameworks экспортирует собственные приложения C ++ в HTML5 через Emscripten. [15] emscripten-qt позволяет компилировать приложения, написанные с использованием инфраструктуры приложений Qt, в WebAssembly. [11]
Архивирование программного обеспечения [ править ]
В декабре 2014 года Internet Archive запустил эмулятор DOSBox, скомпилированный в Emscripten, чтобы обеспечить доступ через браузер к тысячам заархивированных программ MS-DOS и ПК. [16] [17] [18]
См. Также [ править ]
- asm.js
- Собственный клиент Google (PNaCl)
- Haxe
- WebAssembly
Ссылки [ править ]
- ^ "emscripten-core / emscripten: Релизы" . emscripten-core / emscripten. GitHub . Проверено 9 февраля 2021 .
- ^ "emscripten-core / emscripten: Emscripten: компилятор LLVM-to-JavaScript" .
С: 40,0%;
C ++: 34,4%;
JavaScript: 17,4%.
- ^ https://github.com/kripken/emscripten/wiki/WebAssembly
- ^ Уолтон, Зак (2012-04-04). «Легко переносить C ++ в HTML5 / JavaScript с Emscripten» . WebProNews . Сеть iEntry. Архивировано из оригинала на 2013-07-30 . Проверено 25 апреля 2012 .
- ^ Проект Wasmtime. «WASI: Системный интерфейс WebAssembly» . WASI.dev . Проект Wasmtime . Проверено 10 февраля 2021 .
- ^ Проект Wasmtime. «Wasmtime: небольшая и эффективная среда выполнения для WebAssembly и WASI» . Wasmtime.dev . Проект Wasmtime . Проверено 10 февраля 2021 .
- ^ Васмер. «Wasmer: универсальная среда выполнения WebAssembly» . Wasmer.io . Васмер . Проверено 10 февраля 2021 .
- ^ http://www.meshlabjs.net - Домашняя страница экспериментальной, клиентской, javascript-версии MeshLab , работающей в браузере.
- ^ «Примеры переноса и демонстрации» . Emscripten GitHub wiki . Проверено 1 марта 2016 .
- ^ «Будущее AutoCAD» . Через интерфейс . Проверено 9 мая 2018 ..
- ^ a b "Qt для WebAssembly" .
- ^ «Игровой движок Unity запускается в браузере без плагинов» . Ars Technica . Проверено 1 марта 2016 .
- ^ «Будущее скриптинга в Unity - блог Unity» . Блог Unity Technologies . Проверено 1 марта 2016 .
- ^ "Tappy Chicken" . www.unrealengine.com . Проверено 1 марта 2016 .
- ^ "Настройка openFrameworks для Emscripten" . openFrameworks . Проверено 4 марта 2016 .
- ^ Ohlheiser, Abby (2015-01-05). «Теперь вы можете играть в почти 2400 видеоигр MS-DOS в своем браузере» . Вашингтон Пост . Проверено 8 января 2015 .
- ↑ Каждый новый ботинок - чудо Джейсона Скотта (23 декабря 2014 г.)
- ^ "Поиск в Интернет-архиве:" collection: softwarelibrary_msdos " " . archive.org . Проверено 1 марта 2016 .
Внешние ссылки [ править ]
- Официальный веб-сайт
- Страница проекта на GitHub
- Документация Emscripten
- Примеры переноса и демонстрации
- Список некоторых сред выполнения WebAssembly