WebAssembly安装和使用

Mac环境安装,打开终端,安装emscripten

brew install emscripten

新建adder.c文件

int add(int a, int b) {
  return a + b;
}

打开终端编译adder.c文件

emcc --no-entry -O3 adder.c -o adder.wasm -s EXPORTED_FUNCTIONS="['_add']"
  • 要求输出.wasm文件,表示不需要胶水代码
  • 不加--no-entry会报错,说找不到main函数
  • EXPORTED_FUNCTIONS是导出的函数,导出后可以在js访问

这时候你会得到adder.wasm文件

electron使用之前的设置

通过设置webPreferences.experimentalFeatures = true 实现

const webveiw = new BrowserView({
  webPreferences: {
   experimentalFeatures: true
 }
})

 vue里面调用

const fs = require('fs');
const wasmSource = new Uint8Array(fs.readFileSync("./src/adder.wasm"));
const wasmModule = new WebAssembly.Module(wasmSource);
const wasmInstance = new WebAssembly.Instance(wasmModule, {
    env: {
    }
});

const result = wasmInstance.exports.add(2, 40);
console.log("结果=",result);

参考资料:https://zhuanlan.zhihu.com/p/658311362

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值