Jump to content

Эмскриптен

Эмскриптен
Оригинальный автор(ы) Алон Закай
Стабильная версия
3.1.63 [1]  Отредактируйте это в Викиданных / 12 июля 2024 г .; 20 дней назад ( 12 июля 2024 г. )
Репозиторий
Написано в С , С++ , JavaScript [2]
Тип Компилятор
Лицензия Лицензия MIT , Лицензия на открытый исходный код Университета Иллинойса/NCSA
Веб-сайт эмскриптен .org  Edit this on Wikidata

Emscripten — это LLVM / Clang на основе компилятор , который компилирует C и C++ исходный код в WebAssembly , [3] в первую очередь для выполнения в веб-браузерах .

Emscripten позволяет приложениям и библиотекам, написанным на C или C++, заранее компилироваться и эффективно работать в веб-браузерах, обычно со скоростью, сравнимой или более высокой, чем интерпретируемый или динамически скомпилированный JavaScript. Он даже эмулирует всю операционную систему POSIX , позволяя программистам использовать функции из стандартной библиотеки C (libc). [4]

Благодаря более поздней разработке системного интерфейса WebAssembly (WASI) [5] и среды выполнения WebAssembly, такие как Node.js , Wasmtime, [6] и Васмер, [7] Emscripten также можно использовать для компиляции в WebAssembly для выполнения в не-веб-встраиваниях.

Использование

[ редактировать ]

Emscripten использовался для переноса ряда баз кода C/C++ в WebAssembly, включая Unreal Engine 3 , SQLite , [8] МешЛаб , [9] Физика пуль , [10] Автокад , [11] и подмножество платформы приложений Qt . [12] Другие примеры программного обеспечения, портированного на WebAssembly через Emscripten, включают следующее:

Игровые движки

[ редактировать ]

Игровые движки Unity , Defold и Godot предоставляют возможность экспорта в HTML5 с использованием Emscripten. [13] [14] [15] В Unreal Engine была такая опция экспорта, но она была перенесена из движка в плагин для членов сообщества. [16]

Фреймворки и наборы инструментов

[ редактировать ]

openFrameworks экспортирует собственные приложения C++ в HTML5 через Emscripten. [17] emscripten-qt позволяет компилировать приложения, написанные с использованием платформы приложений Qt, в WebAssembly. [12]

Архивирование программного обеспечения

[ редактировать ]

В декабре 2014 года Интернет-архив запустил эмулятор DOSBox, скомпилированный в Emscripten, для обеспечения доступа через браузер к тысячам архивных программ MS-DOS и ПК. [18] [19] [20]

См. также

[ редактировать ]
  1. ^ «Выпуск 3.1.63» . 12 июля 2024 г. Проверено 22 июля 2024 г.
  2. ^ «emscripten-core/emscripten: Emscripten: компилятор LLVM-JavaScript» . Гитхаб . С: 40,0%; С++: 34,4%; JavaScript: 17,4%.
  3. ^ WebAssembly · emscripten-core/emscripten Wiki · GitHub
  4. ^ Кларк, Лин. «Стандартизация WASI: системный интерфейс для запуска WebAssembly вне Интернета — Mozilla Hacks — блог веб-разработчиков» . Mozilla Hacks — блог веб-разработчиков . Мозилла . Проверено 31 октября 2022 г.
  5. ^ Проект Вастимайм. «WASI: Системный интерфейс WebAssembly» . WASI.dev . Проект Wasmtime . Проверено 10 февраля 2021 г.
  6. ^ Проект Вастимайм. «Wasmtime: небольшая и эффективная среда выполнения для WebAssembly и WASI» . Wasmtime.dev . Проект Wasmtime . Проверено 10 февраля 2021 г.
  7. ^ Васмер. «Васмер: универсальная среда выполнения WebAssembly» . Васмер.io . Васмер . Проверено 10 февраля 2021 г.
  8. ^ «Указатель документации sqlite3 WebAssembly и JavaScript» . SQLite . Проверено 8 мая 2023 г.
  9. ^ http://www.meshlabjs.net — домашняя страница экспериментальной клиентской версии MeshLab на основе JavaScript, работающей внутри браузера.
  10. ^ «Примеры портирования и демо» . Эмскриптен GitHub вики . Проверено 1 марта 2016 г.
  11. ^ «Будущее AutoCAD» . Через интерфейс . Проверено 9 мая 2018 г. .
  12. ^ Перейти обратно: а б «Qt для WebAssembly» .
  13. ^ «Игровой движок Unity переходит в браузер без плагинов» . Арс Техника . 18 марта 2014 года . Проверено 1 марта 2016 г.
  14. ^ «Будущее сценариев в Unity — блог Unity» . Блог Unity Technologies . Проверено 1 марта 2016 г.
  15. ^ «Развертывание HTML-разработки» . Развернуть документацию . Проверено 18 декабря 2023 г.
  16. ^ «Разработка HTML5 с помощью Unreal» . Нереальная документация . 18 декабря 2023 г. Проверено 18 декабря 2018 г.
  17. ^ «Настройка openFrameworks для Emscripten» . openFrameworks . Проверено 4 марта 2016 г.
  18. ^ Олхайзер, Эбби (5 января 2015 г.). «Теперь вы можете играть в почти 2400 видеоигр MS-DOS в своем браузере» . Вашингтон Пост . Проверено 8 января 2015 г.
  19. ^ Каждый новый ботинок - чудо , Джейсон Скотт (23 декабря 2014 г.)
  20. ^ «Поиск в Интернет-архиве: «collection:softwarelibrary_msdos» » . archive.org . Проверено 1 марта 2016 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 07cfb246366261cd699fb11a8e2c6fec__1721584020
URL1:https://arc.ask3.ru/arc/aa/07/ec/07cfb246366261cd699fb11a8e2c6fec.html
Заголовок, (Title) документа по адресу, URL1:
Emscripten - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)