さて、asm.jsの件です。
jsとの連携部分で
C言語側の関数をエクスポートしておき、JSから呼び出すメモです。
main関数なしで、関数のみ配置。
引数=数値、数値、文字 を型変換と結合設定します。
リターンコードは、JS側で使います。
destの下に、HTML形式でコンパイルします。
引数は、
EXPORTED_FUNCTIONSで、Cは、接頭語=アンスコ[_]が必要。
*) 関数指定無しは、-s EXPORT_ALL=1
>EMCC_FAST_COMPILER=0 emcc export1.c -o dest/export1.html -s EXPORTED_FUNCTIONS="['_ex_func01' ]"
呼び出すJS、書きます。
ccall, cwrap() などで、関数使えるようです。
cwrap の場合は
関数名、戻り値、引数(複数可能)
を指定します。
出力されたHTMLに、読み込みます。
===
<script async type="text/javascript" src="test.js"></script>
===
ブラウザで読み込むと、asm.js処理結果が
JS呼出側からコンソールにログ出力されます。
*) 通常js(非asm) vs asm.js 性能比較の検証も、今後企画したいと思います。
単純な重たい計算処理を実装したところ、あまり誤差が出ませんでした。(汗、、)
0 件のコメント:
コメントを投稿