微信小程序对WebAssembly的支持情况实践
发布于 2 年前 作者 jie47 556 次浏览 来自 分享

微信小程序对WXWebAssembly的支持情况实践


这几天一直在调研微信小程序对WebAssembly的支持情况,昨天把我们业务上的wasm文件导入到小程序,一直报错,没有成功。

具体的报错截图如下所示

 TypeError: WebAssembly.instantiate(): Impor #0 module="env" error: module is not an object or function

图片占位

图片占位

今天尝试找一些比较简单的demo来导入,

1、首先尝试的是写一个helloworld的打印示例,具体代码如下所示


参考该文档进行安装相关的环境

https://www.cntofu.com/book/150/zh/ch1-quick-guide/ch1-01-install.md


将这个helloworld.wasm文件导入也是报错的

图片占位

第二种尝试是在github上找了个实现加减乘除计算器的wasm文件引入,发现成功了

c文件代码

图片占位

成功导出了下面三个函数,调用add函数也成功返回了1 + 2 = 3的逻辑

图片占位


总结

微信目前确实是支持WebAssembly,但是支持的很有限,引入外部头文件或者外部库都可能存在报错


参考官方教程

https://developers.weixin.qq.com/miniprogram/dev/framework/performance/wasm.html



3 回复

各大家推荐一个资源 https://wasmbyexample.dev/home.en-us.html

这里的wasm的项目都用cpp,rust,go还有ts四种语言各自写了一遍~

很适合观察各种语言的实现wasm的优缺点~

回到顶部