Чтобы компилировать в WebAssembly, используем Low Level Virtual Machine (LLVM). В качестве предварительного условия необходимы следующие инструменты:
- Git. В Linux и OS X это, скорее всего, уже присутствует. В Windows просто загрузите соответствующую версию Git.
- CMake. В Linux и OS X можно использовать менеджеры пакетов, такие как apt-get или brew. Для ОС Windows загрузите установщик CMake.
- Компиляторы. В Linux установите GCC, на OS X – Xcode, а в Windows – последнюю версию Visual Studio Community.
- Python для вашей операционной системы.
После установки перечисленных элементов убедитесь, что git, cmake и python доступны в PATH.
Сборка Emscripten автоматизирована за счет Emscripten SDK. Весь процесс состоит из следующих этапов:
Установка завершена. Далее введите:
Эта команда добавляет соответствующие переменные среды и записи в PATH для настройки и легкого доступа к инструментам компилятора.
В Windows замените элемент команды ./emsdk на emsdk, а в source ./emsdk_env.sh запишите emsdk_env.
Мы разобрали полную инструментальную цепочку, которая используется для компиляции простой программы в WebAssembly. Однако есть несколько оговорок:
- Мы должны передать -s WASM=1 в emcc (иначе по умолчанию emcc выдаст asm.js).
- Если мы хотим, чтобы Emscripten создавал HTML-страницу, которая запускает нашу программу, в дополнение к двоичной базе wasm и JavaScript-оболочке мы должны указать имя выходного файла с расширением .html.
- Наконец, чтобы запустить программу, мы не можем просто открыть HTML-файл в веб-браузере. Для этого необходимо воспользоваться HTTP.
Теперь давайте напишем простую программу «Hello, World!» и скомпилируем ее. Этап компиляции – последняя строка кода:
Чтобы задействовать HTTP, используйте веб-сервер emrun, поставляемый с Emscripten SDK:
После запуска HTTP-сервера вы можете открыть его в браузере и увидеть «Hello, World!».