EmscriptenでC言語のプログラムをHTMLとJavaScriptに変換する

スポンサーリンク

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が起動します。

http://localhost/test/hello.html

起動後、Webブラウザ(今回はGoogle chrome)を起動し、アドレスバーに今回は上記のURLを入力しアクセスします。

アクセスすると、「powered by emscripten」などと表記されたページが表示されます。ページ内内で、今回作成したC言語のプログラムが、JavaScriptに変換され、C言語のプログラム内の処理である「文字列の出力」が行われたことを確認できました。

コメント

タイトルとURLをコピーしました