c是一种古老而又经典的语言,js是一种流行的解释语言,用于各种不同的场合,在客户端、服务器端都有非常多的用武之地。
emscripten是一个可以将C代码编译成WebAssembly的神奇工具,而且还能实现js对c代码的调用。
1、emscripten的安装
1)从github下载emsdk
下载地址:https://github.com/emscripten-core/emsdk
选择"Clone or download => Download ZIP" 即下载 emsdk-master.zip,解压到如:c:\emsdk-master
2) 安装emsdk
进入上一步解压目录c:\emsdk-master,依次执行:
a) emsdk install latest
b) emsdk activate latest
c) emsdk_env.bat
更多信息参见:https://emscripten.org/docs/getting_started/downloads.html
3)编写C代码,命名为add.c
#include <emscripten.h>
// 实现一个加法
EMSCRIPTEN_KEEPALIVE
int add(int a,int b)
{
return a+b;
}
4) 编译C代码,生成add.js 和 add.wasm
emcc add.c -o add.js -s
5) 编写调用代码,命名为:test.js
// 引用模块
var add = require('add.js');
add.onRuntimeInitialized = function() {
console.log(add._add(1,1))
}
6) 执行测试
这里我们,采用后端框架nodejs来执行test.js文件,(Nodejs的安装包下载:https://nodejs.org/zh-cn/download/,选择windows64位.msi,下载后执行缺省安装
) ,命令如下:
c:\emsdk-master>node test.js
输出结果:
完结:至此,emscripten的入门就完成了。