WebAssembly 事始め

WebAssemblyのインストール

WebAssemblyを導入してみようと思い立ち、取り敢えずググること数時間。
WebAssemblyって面白そう!ということで、その辺に転がっていたCentOS 7に取り敢えずインストールして試してみようかな?と言うことでやってみた。

よく解らないながら、node.jsを入れておくと良さそうなので、インストールしておく。

他にも入ってるかも知れないけど、gccとか既に入っていたので無視!
確認のために必要なWebサーバについても、Apacheがインストールされているので、こちらも無視。
まあ、何かあったらエラー出てくるだろう?ということで。。。

適当なディレクトリを作成して、gitでクローンを作るところから始まる。

よくわかんないけど、こんな感じでおまじないを入れる。

最初はそこそこ時間掛かるみたいです。
終わったら、サンプルプログラムを動かしてみようと思います。

サンプルプログラムと実行

サンプルプログラムと言っても、単なるHell Worldですが。。。(^^ゞ

ここではC言語なのに、敢えてsample.cppとして作りました。
コンパイルしてみます。

忘れていました。emsdkを構築したディレクトリで以下のコマンドを実行して、環境設定を行います。

このままだと毎回上記のコマンドを実行する必要が生じますので、ログイン時に設定する様にした方が良いですね。(割愛しますが。。。)

コンパイルします。

.jsだけ作る場合は、以下のコマンドになります。

# emcc -o sample.js

確認方法は2通りあります。
node.jsで動作確認する場合は以下のコマンドで確認出来ます。

# node sample.js

Webサーバで確認する場合は、.jsと.wasmと.htmlを/var/www/html以下の適当なディレクトリへ保存します。
あとは、ブラウザでアクセスしてみてください。

こんな感じ

こんな感じの画面が出たら成功です!

どのファイルがWebサーバに必要なのか解らなかったのですが、結局全部欲しいらしいw
これだけだと、単なるリソースの無駄遣いプログラムを作っただけなのでは。。。?
はい、そうですw

Qtが連携出来そうなので、Qtと連携してみようと思います。