WebAssembly -JavaScript と C/C++ の連携-

このところ JavaScript で C/C++ を使う方法を調べている。

いくつか方法があるようなのだが、それなりに感動したのは WebAssembly 。

C/C++ ソースから、なんらかの仕方で(ブラウザが扱える)wasm ファイルを生成し、それをブラウザ環境で動作させる、ということらしい。

こう書くとなんやら難しそうに見えるかもしれないが、導入自体はかなり簡単。

MDN のページあたりを参照。

C → wasm 変換はツールがいくつかあるらしいのだが、ワイは emscripten を使った。

emscripten 導入も MacOS なら homebrew を使って

brew install emscripten

で完了。

適当なウェブサーバーに生成された hello.html を配置すると以下のようなページが現れる。

ちゃんとハロワしてますね。

 

もうちょっと習得を進めたい場合は、この記事あたり参照。