安裝 Emscripten SDK
首先必須先安裝以下package
1 | $ apt-get install wget python git g++ cmake nodejs |
從[網站(http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html)下載Portable SDK進行編譯安裝。安裝過程如下
1 | $ tar zxvf emsdk-portable.tar.gz |
修改~/.emscripten`
NODE_JS = nodejs
寫個程式測試
1 |
|
將奇編譯成Javascript
1 | $ ./emcc hello.c -o hello.out.js |
用nodejs執行它
1 | $ nodejs hello.out.js |
Asm.js
Asm.js是Javascript的一個子集合,限制Javascript的特性,使其能夠對應體作最佳化。在編譯時加上-s ASM_JS=1
即可。
1 | $ ./emcc -s ASM_JS=1 hello.c -o hello.out.js |
如果有需要的話可以參考
- asm.js 架構與 Emscripten 編譯器:Mozilla 在網頁上發展出接近原生(Native)程式效能的 JavaScript 程式(一)
- asm.js 架構與 Emscripten 編譯器:Mozilla 在網頁上發展出接近原生(Native)程式效能的 JavaScript 程式(二)
- asm.js 架構與 Emscripten 編譯器:Mozilla 在網頁上發展出接近原生(Native)程式效能的 JavaScript 程式(三)
WebAssembly
最近新推出來的玩意,在2016年各家Browsers終於推出preview版本,而Emscripten更能直接輸出WebAssembly
請參考WebAssembly
另外一個方式就是使用自定義的clang來輸出WebAssembly
其他的參考連結
— A Look at Web Assembly and Molecular Analysis
— Webassembly initial steps tutorial or how to start with wasm