WebAssembly 的目的是什么?
让一些 C 或 C++ 程序,运行在 web 端。例如游戏…
那么首先就需要将 C 或 C++ 代码,转化为 js 代码,然后运行在浏览器里。
转化后的这个 js 代码叫做 asm.js, 转化代码的编译器叫做 emscripten
如何使用 emscripten?
先去按照步骤下载 emscripten,执行到 source ./emsdk_env.sh 后面,就可以编译 c 程序了。
ps: 每次打开都要在 emsdk 文件夹 执行 source ./emsdk_env.sh
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
   | #include <emscripten.h> #include <iostream>
  int main() {   int val1 = 21;   int val2 = EM_ASM_INT({ return $0 * 2; }, val1);
    std::cout << "Heallo WebAssembly == " << val2 << std::endl; }
 
 
 
 
 
 
 
 
 
   | 
 
下面的操作都在 emsdk 文件夹下完成
1 2 3 4 5 6 7
   | > source ./emsdk_env.sh Setting up EMSDK environment (suppress these messages with EMSDK_QUIET=1) Adding directories to PATH: .......
  > emcc ~/test/hello.cc -o ~/test/hello.out.js > emcc ~/test/hello.cc -o ~/test/hello.html
 
   | 
 
ps: 需要 用 服务来运行 html 文件; npm i serve -g

更多 WebAssembly…
https://github.com/mbasso/awesome-wasm