Начинаем работу с WebAssembly

Руководство разработчика представлено в виде пошаговой инструкции для компиляции простой программы непосредственно в WebAssembly.


Руководство разработчика

Чтобы компилировать в WebAssembly, используем Low Level Virtual Machine (LLVM). В качестве предварительного условия необходимы следующие инструменты:

После установки перечисленных элементов убедитесь, что git, cmake и python доступны в PATH.

Руководство разработчика включает в себя компиляцию Emscripten

Сборка Emscripten автоматизирована за счет Emscripten SDK. Весь процесс состоит из следующих этапов:

$ git clone https://github.com/juj/emsdk.git
$ cd emsdk
$ ./emsdk install sdk-incoming-64bit binaryen-master-64bit
$ ./emsdk activate sdk-incoming-64bit binaryen-master-64bit

Установка завершена. Далее введите:

$ source ./emsdk_env.sh

Эта команда добавляет соответствующие переменные среды и записи в PATH для настройки и легкого доступа к инструментам компилятора.

В Windows замените элемент команды ./emsdk на emsdk, а в source ./emsdk_env.sh запишите emsdk_env.

Компилируем и запускаем простую программу на WebAssembly

Мы разобрали полную инструментальную цепочку, которая используется для компиляции простой программы в WebAssembly. Однако есть несколько оговорок:

  • Мы должны передать -s WASM=1 в emcc (иначе по умолчанию emcc выдаст asm.js).
  • Если мы хотим, чтобы Emscripten создавал HTML-страницу, которая запускает нашу программу, в дополнение к двоичной базе wasm и JavaScript-оболочке мы должны указать имя выходного файла с расширением .html.
  • Наконец, чтобы запустить программу, мы не можем просто открыть HTML-файл в веб-браузере. Для этого необходимо воспользоваться HTTP.

Теперь давайте напишем простую программу «Hello, World!» и скомпилируем ее. Этап компиляции – последняя строка кода:

$ mkdir hello
$ cd hello
$ echo '#include <stdio.h>' > hello.c
$ echo 'int main(int argc, char ** argv) {' >> hello.c
$ echo 'printf("Hello, World!\n");' >> hello.c
$ echo '}' >> hello.c
$ emcc hello.c -s WASM=1 -o hello.html

Чтобы задействовать HTTP, используйте веб-сервер emrun, поставляемый с Emscripten SDK:

$ emrun --no_browser --port 8080 .

После запуска HTTP-сервера вы можете открыть его в браузере и увидеть «Hello, World!».

Дальшейшее изучение

Также рекомендуем Вам посмотреть:

Git за полчаса: руководство для начинающих
6 приложений, использующих глубокое обучение, для начинающих
Учебник по выживанию для начинающих разработчиков
Как выучить Python и найти работу
Язык Python и миллион запросов в секунду

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Аналитик данных
Екатеринбург, по итогам собеседования
Продуктовый аналитик в поддержку
по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ