Repolode
emscripten-core

emscripten-core/emscripten

Набор инструментов компиляции, который преобразует код на C и C++ в WebAssembly для запуска в браузерах, Node.js и других Wasm-средах.

Звёзды
27,734
Форки
3,572
Открытые issues
2,527
Последний коммит
4 часа назад

Что это?

Emscripten компилирует код на C и C++ в WebAssembly с помощью LLVM и Binaryen. Полученный код можно запускать в интернете, в Node.js и в автономных Wasm-средах. Команда emcc работает по тому же принципу, что gcc или clang, и создаёт модуль WebAssembly вместе с JavaScript-загрузчиком либо примером HTML-страницы.

Emscripten предоставляет веб-реализации переносимых API, таких как OpenGL и SDL2, благодаря чему существующие графические приложения можно портировать в браузер. В качестве примеров такого портирования приводятся крупные проекты — игровой движок Unity и Google Earth.

Проект в первую очередь ориентирован на C и C++ с использованием Clang, но его также можно интегрировать с другими компиляторами на базе LLVM, например с целью Rust wasm32-unknown-emscripten.

Ключевые возможности

  • 01Компилирует код на C и C++ в WebAssembly с помощью LLVM и Binaryen.
  • 02Позволяет запускать результат в браузерах, Node.js, Deno, Bun и автономных Wasm-средах.
  • 03Предоставляет веб-реализации API OpenGL и SDL2.
  • 04Может использоваться как прямая замена gcc или clang с командой emcc.
  • 05Может создавать HTML-страницу с загрузчиком или отдельный JavaScript-файл.

Сценарии использования

  • Портирование существующего настольного приложения или игры на C или C++ для запуска в браузере.
  • Использование нативных библиотек на C или C++ в проекте Node.js.
  • Сборка модулей WebAssembly из кода на C для использования в других Wasm-средах.

Быстрый старт

  1. 1

    Установите Emscripten SDK (emsdk) со страницы загрузок

  2. 2

    Скомпилируйте hello.c в файл JavaScript

    emcc hello.c -o hello.js
  3. 3

    Запустите сгенерированный JavaScript с помощью Node.js

    node hello.js

Что важно знать

  • Настройка подразумевает установку цепочки инструментов emsdk со страницы загрузок, а не установку одного пакета.

Темы

Частые вопросы

Что такое emscripten?
Набор инструментов компиляции, который преобразует код на C и C++ в WebAssembly для запуска в браузерах, Node.js и других Wasm-средах. Emscripten компилирует код на C и C++ в WebAssembly с помощью LLVM и Binaryen. Полученный код можно запускать в интернете, в Node.js и в автономных Wasm-средах. Команда emcc работает по тому же принципу, что gcc или clang, и создаёт модуль WebAssembly вместе с JavaScript-загрузчиком либо примером HTML-страницы.
emscripten можно использовать бесплатно? Какая у него лицензия?
emscripten распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
emscripten всё ещё поддерживается?
Активно поддерживается. Последний коммит в emscripten — 21 окт. 2026 г..
Для чего можно использовать emscripten?
Портирование существующего настольного приложения или игры на C или C++ для запуска в браузере. Использование нативных библиотек на C или C++ в проекте Node.js. Сборка модулей WebAssembly из кода на C для использования в других Wasm-средах.
Как установить emscripten?
Установите Emscripten SDK (emsdk) со страницы загрузок Скомпилируйте hello.c в файл JavaScript: emcc hello.c -o hello.js Запустите сгенерированный JavaScript с помощью Node.js: node hello.js
Где скачать emscripten?
Исходный код и инструкции по установке — на GitHub: https://github.com/emscripten-core/emscripten

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты