EmscriptenでC言語のプログラムをHTMLとJavaScriptに変換してみます。
■環境
Windows10
>emcc –version
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.15 (8b4443a87f5eab5dbb9adb690f9ebed0a9da4bd9)
■簡単なC言語のプログラムを作成する
EmscriptenでC言語のプログラムをHTMLとJavaScriptに変換してみますので、まずはC言語のプログラムを作成します。
■コード
#include int main() { printf("Hello World!!!!!!!!!!!!\n"); }
今回は、main()という関数を定義し、関数が呼び出された時の処理としては、printf()を用いて括弧内に引数,パラメータとして渡した文字列を出力させるものです。
このファイルを「hello.c」という名前で保存します。保存先は今回「C:\Users\user_(フォルダパス)」となります。
■コンパイルする
保存後、コンパイルするために、Windows10のコマンドプロンプトを起動します。
C:\Users\user_>emcc hello.c -o hello.html
起動後、上記のコマンドを入力し、Enterキーを押します。「-o」オプションで、Emscriptenにコードを実行するためのHTMLやjsファイルなどを生成します。今回は「hello.html」というHTMLファイルなどが生成されます。
Enterキーを押すと何も出力されませんが、コンパイルが成功します。
成功後、「hello.c」というファイルを保存した先を確認すると、html,js,wasmファイルが生成されていることが確認できました。
■WebAssemblyコードのロードと実行・検証
確認ができましたので、これらのファイルの実行・検証を行っていきます。今回は、XAMPPを使用し、Apacheでローカルホストの設定を行い実行・検証を行います。
先程生成された3つのファイルをXAMPPのインストール先のhtdocsフォルダ内に移動させますが、今回はhtdocsフォルダ内に「test」というフォルダを新たに作成し、そこに移動させています。
移動後、「XAMPP Control Panel」を起動し、パネル内の「Module」の「Apache」で「Actions」の「Start」ボタンをクリックします。クリックすると、Apacheが起動します。
起動後、Webブラウザ(今回はGoogle chrome)を起動し、アドレスバーに今回は上記のURLを入力しアクセスします。
アクセスすると、「powered by emscripten」などと表記されたページが表示されます。ページ内内で、今回作成したC言語のプログラムが、JavaScriptに変換され、C言語のプログラム内の処理である「文字列の出力」が行われたことを確認できました。
コメント