😀

DockerでWASMを試してみる

2019/04/07に公開

install

公式サイトのインストール方法だと、環境依存度が高すぎるので、Dockerを使おう。

docker pull trzeci/emscripten

coding

Hello Worldを書く。

hello/hello.c
#include <stdio.h>
int main(int argc, char ** argv) {
  printf("Hello, world!\n");
}

出典:公式サイト

compile

コンパイルしよう。

docker run \
  --rm \
  -v $(pwd)/hello:/src \
  -u emscripten \
  trzeci/emscripten \
  emcc hello.c -s WASM=1 -o index.html

こんな感じに*.html,*.js,*.wasmファイルができる。

└── hello
    ├── hello.c
    ├── index.html
    ├── index.js
    └── index.wasm

run

ウェブサイトとして実行する。

docker run \
  --rm \
  -v $(pwd)/hello:/src \
  -u emscripten \
  -p 8080:8080 \
  --network=host \
  trzeci/emscripten \
  emrun --no_browser --port 8080 .

以下のサイトにアクセスする。

http://localhost:8080

Hello Worldが表示された。

image.png

Reference

Discussion