さて、asm.jsの件です。
環境:
macで
emscripten :1.19
LLVM : 3.3
clang : 3.3
環境構築の詳細は省略とさせて頂きます。(探せば出そうでした。)
流れ的には、下記のイメージだったようです。
============================================
node.js git homebrew がインストール済みの状態で、
git clone https://github.com/kripken/emscripten
*) /emscripten はPATHに追加した方が良いかもです。
brew install llvm --with-clang
で、
emcc を1回実行して、
ホームの $HOME/.emscripten を編集(LLVM_ROOT=llvmを、 brewでインストールしたフォルダ)
LLVM_ROOT = os.path.expanduser(os.getenv('LLVM') or '/usr/local/Cellar/llvm33/3.3_1/bin') # directory
*)pyhton2のエラーで出る場合、/usr/bin/pythno2 に、pyhton2.7のリンク張って下さい。
============================================
[hello world出す。]
testフォルダにサンプルありましたのでコピー。emscripten/hello_world.c
emccでコンパイルですが、fastcomp関係のエラーがでる場合、
EMCC_FAST_COMPILER=0
を設定します。 dest の下にコンパイルします。
>
EMCC_FAST_COMPILER=0 emcc hello_world.c -o dest/hello_world.js
node.js で、確認します。
>
node dest/hello_world.js
hello, world!
シェルで記載する場合(参考)
HTML出力する場合
>
EMCC_FAST_COMPILER=0 emcc hello_world.c -o dest/hello_world.html
dest/hello_world.html を、ブラウザで開いて確認。
[インラインJavascript]
C言語側から、インラインで、javascript実行できるようです。コンパイルします。
>
EMCC_FAST_COMPILER=0 emcc hello_world_in.c -o dest/hello_world_in.js
nodeで確認します。
Cの表示と、JSの表示が両方出力されます。
>node dest/hello_world_in.js
hello, world!
#hello, world-Inline-JS
*)それでは、また
0 件のコメント:
コメントを投稿