目次

Emscripten

Emscripten

Blog 記事

WebGL Extensions (Emscripten)

OS毎、ブラウザごと、GPU ごとのデータ

Install 手順

Windows/Mac OS X

emsdk command を使って package の install と更新を行う。

$ emsdk update
$ emsdk list
$ emsdk install sdk-1.27.0-64bit

Linux

上記手順に従い install

2015/01/10 現在の手順の一例 (Ubuntu14.10)

$ cd
$ sudo apt-get update
$ sudo apt-get install python2.7 nodejs build-essential cmake git-core default-jre
$ mkdir emscripten
$ cd emscripten
$ git clone https://github.com/kripken/emscripten-fastcomp
$ cd emscripten-fastcomp
$ git clone https://github.com/kripken/emscripten-fastcomp-clang tools/clang
$ mkdir build
$ cd build
$ ../configure --enable-optimized --disable-assertions --enable-targets=host,js
$ make -j
$ cd ../..
$ git clone https://github.com/kripken/emscripten.git
$ cd emscripten
$ ./emcc

~/.emscripten を編集して LLVM_ROOT= に emscripten-fastcomp/build/Release/bin を追加

LLVM_ROOT = os.path.expanduser(os.getenv('LLVM') or '/home/user_name/emscripten/emscripten-fastcomp/build/Release/bin')

emscripten/emscripten にパスを通す

Debug のための設定メモ

実行

--preload-file のデータが読めない

preload file は xhr なのでローカルサーバーを立ててブラウザからアクセスする必要あり。 –embed-file なら js に埋め込むのでどの方法でもアクセスできる。

コード生成

Null ポインタアクセスがエラーにならない

Heap メモリが足りない

Stack が足りない

ブラウザ

Firefox の Console Log を増やす

  1. URL に “about:config”
  2. devtools.hud.loglimit.console の値を増やす

Android Firefox の Remote Debug

  1. adb で接続
  2. Android Firefox の Menu → 設定 → デベロッパーツール → リモートデバッグ を ON
  3. HOST PC の Firefox で Menu → 開発ツール → 開発ツールを表示 → 開発ツールパネルの左上の歯車アイコン → 「リモートデバッガを有効」にチェックを入れる
  4. HOST PC で「 adb forward tcp:6000 tcp:6000 」
  5. HOST PC の Firefox で Menu → 開発ツール → 接続 → [接続]
  6. Android 側に dialog が出るので [OK]
  7. HOST PC の Firefox で接続する Tab を選択

Android Chrome の Remote Debug

  1. adb で接続
  2. HOST PC 側 Chrome で “chrome:inspect”