前言
wasm是一个可移植、体积小、加载快并且兼容 Web 的全新格式,可以很好地兼容不同平台之间插件的调用,本篇文章将简单介绍如何简单构建一个wasm文件,以及如何在flutter中读取wasm文件,并调用相关方法
Flutter 中使用 wasm
flutter pub add wasm
创建一个c文件
int square(int n) { return n * n; }
编译wasm方式
- clang编译
clang --target=wasm32 -nostdlib "-Wl,--export-all" "-Wl,--no-entry" -o square.wasm square.c
Flutter 读取wasm文件调用方法
final data = File('assets/wasm/square.wasm').readAsBytesSync();
final mod = WasmModule(data);
print(mod.describe());
final inst = mod.builder().build();
final square = inst.lookupFunction('square');
print(square(13));