Emscripten SDK
1.1、Emscripten SDK简介
是什么 ?:Emscripten SDK is used to perform all SDK maintenance. With Emscripten SDK you can download, install or remove any SDK or Tool of Emscripten. Emscripten is a toolchain for compiling C and C++ code to asm.js and WebAssembly code using LLVM and Binaryen. Emscripten output can run in the Web browser, in Node.js, and in wasm runtimes at near-native speed.
开发语言:PythonNode.jsCC++
官方主页:https://emscripten.org
源码仓库:https://github.com/emscripten-core/emsdk
1.2、安装Emscripten SDK 

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时git
安装时CPython
运行时
  • glibc ( libc.solibm.solibdl.solibrt.solibpthread.sold-linux-x86-64.so )
  • GCC ( libgcc_s.so )

step2、使用git命令下载Emscripten SDK源码

git -C /usr/local/opt clone https://github.com/emscripten-core/emsdk.git

step3、查看/usr/local/opt/emsdk目录中的内容

step4、将/usr/local/opt/emsdk加入PATH环境变量中

export PATH=/usr/local/opt/emsdk:$PATH

step5、安装最新的工具链

emsdk install latest

step6、激活最新的工具链

emsdk activate latest

step7、配置环境变量

source /usr/local/opt/emsdk/emsdk_env.sh
1.3、Emscripten SDK Docker Image 
alias emcc="docker run --rm -v $(pwd):/src trzeci/emscripten emcc"
alias em++="docker run --rm -v $(pwd):/src trzeci/emscripten em++"
alias emmake="docker run --rm -v $(pwd):/src trzeci/emscripten emmake"
alias emar="docker run --rm -v $(pwd):/src trzeci/emscripten emar"
alias asm2wasm="docker run --rm -v $(pwd):/src trzeci/emscripten asm2wasm"
1.4、Emscripten SDK的相关环境变量
1.4.1、EMSDK

EMSDK环境变量的值为Emscripten SDK的安装路径。

1.4.2、EM_CONFIG 

EM_CONFIG环境变量用来指定Emscripten SDK配置文件的路径。

EM_CONFIG环境变量的默认值为~/.emscripten

emsdk activate <tag>命令的本质就是修改Emscripten SDK配置文件

如果您的系统中安装过Node.js Runtime,请修改这个配置文件中的NODE_JS变量的值为您的, 否则会被Emscripten SDK自带的Node.js Runtime覆盖。

下面是我的配置:

NODE_JS = '/Users/leleliu008/.nvm/versions/node/v10.15.1/bin/node'
LLVM_ROOT = '/usr/local/opt/emsdk/upstream/bin''
BINARYEN_ROOT = '/usr/local/opt/emsdk/upstream''
EMSCRIPTEN_ROOT = '/usr/local/opt/emsdk/upstream/emscripten''
TEMP_DIR = '/var/folders/jw/7vmz4m1970932zln9tb1whxr0000gn/T''
COMPILER_ENGINE = NODE_JS'
JS_ENGINES = [NODE_JS]
1.5、Emscripten SDK中包含的命令
1.6、Emscripten SDK中包含的头文件
1.7、Emscripten SDK综合使用示例