とりあえず使ってみるしかない
- kripken/emscripten · GitHub
- Main — Emscripten 1.29.12 documentation
- EmscriptenでC言語をJavaScriptに変換する - Qiita
SDKインストール
Download and install — Emscripten 1.29.12 documentation
自分の開発環境はMacOSXなので、emsdk-portable.tar.gzをダウンロードして、適当に~/emsdk_portable
に展開。
こうなった
% tree ~/emsdk_portable emsdk_portable ├── README.md ├── emsdk ├── emsdk_env.sh └── emsdk_manifest.json 0 directories, 4 files
brew install cmake
% cd ~/emsdk_portable % ./emsdk install sdk-incoming-64bit # 中略 Done installing tool 'emscripten-incoming-64bit'. Done installing SDK 'sdk-incoming-64bit'. % ./emsdk activate sdk-incoming-64bit Writing .emscripten configuration file to user home directory /Users/otiai10/ The Emscripten configuration file /Users/otiai10/.emscripten has been rewritten with the following contents: import os SPIDERMONKEY_ENGINE = '' NODE_JS = 'node' LLVM_ROOT='/Users/otiai10/emsdk_portable/clang/fastcomp/build_incoming_64/bin' NODE_JS='/Users/otiai10/emsdk_portable/node/0.10.18_64bit/bin/node' EMSCRIPTEN_ROOT='/Users/otiai10/emsdk_portable/emscripten/incoming' EMSCRIPTEN_NATIVE_OPTIMIZER='/Users/otiai10/emsdk_portable/emscripten/incoming_64bit_optimizer/optimizer' V8_ENGINE = '' TEMP_DIR = '/var/folders/gb/0m0ysgm57k74p0kynmmp354h0000gn/T' COMPILER_ENGINE = NODE_JS JS_ENGINES = [NODE_JS] To conveniently access the selected set of tools from the command line, consider adding the following directories to PATH, or call 'source ./emsdk_env.sh' to do this for you. /Users/otiai10/emsdk_portable:/Users/otiai10/emsdk_portable/clang/fastcomp/build_incoming_64/bin:/Users/otiai10/emsdk_portable/node/0.10.18_64bit/bin:/Users/otiai10/emsdk_portable/emscripten/incoming %
つかう
hoge.c
#include <stdio.h> int main(void) { printf("Hello, Emscripten"); }
% ./emsdk_portable/emscripten/incoming/emcc hoge.c -o hoge.js
hoge.jsができてるので、nodeで実行する。
ブラウザで読み込んでもconsoleでHello, Emscripten
とconsole.logされてた。← ここだいじ
cppのライブラリをincludeしてもコンパイルされたjsはブラウザで動くとすれば、これはすごいことだ(雑
とりあえずのDRYな備忘録として