Emscripten是一种基于LLVM的编译器,理论上能够将任何能够生成LLVM位码的代码编译成javascript的严格子集asm.js,实际上主要用于将C/C++代码编译成asm.js。本文主要介绍Emscripten的安装过程。
下载和安装
从源码编译安装十分麻烦,推荐安装核心的Emscripten SDK。以Windows为例,先使用如下命令下载emsdk。
1 | # Get the emsdk repo |
再使用如下命令安装配置Emscripten。
1 | # Fetch the latest registry of available tools. |
验证
使用如下命令验证Emscripten是否安装配置正确。
1 | # Enter that directory |
运行
如果验证通过,即可使用Emscripten编译C/C++代码到asm.js。
创建名为helloWorld.cpp的文件,其内容如下:
1 | #include <stdio.h> |
使用如下命令编译:
1 | emcc.bat helloWorld.cpp |
编译后将生成a.out.js和a.out.wasm两个文件。后者是包含编译后代码的WebAssembly文件,前者是用于加载和执行后者的Javascipt文件。使用如下命令测试编译后生成的代码,将输出“hello,world!”。
1 | node a.out.js |