deno.com

WebAssembly

WebAssembly 是一种用于描述程序数据和指令的二进制格式。它是一种新型且更高效的二进制格式。

我们用 WebAssembly 模块的字节创建一个新的 Uint8Array。这通常是某些编译器的输出,而不是手动编写的。
const bytes = new Uint8Array([
  0,97,115,109,1,0,0,0,1,7,1,96,2,
  127,127,1,127,2,1,0,3,2,1,0,4,1,
  0,5,1,0,6,1,0,7,7,1,3,97,100,100,
  0,0,9,1,0,10,10,1,8,0,32,0,32,1,
  106,15,11,11,1,0,
]);
我们为 WebAssembly 模块创建一个包含所有导出内容的接口。
interface WebAssemblyExports {
  add(a: number, b: number): number;
}
WebAssembly 模块是一种用于描述程序数据和指令的二进制格式。
const exports = await WebAssembly.instantiate(bytes);
我们从 WebAssembly 模块中获取导出内容并将其转换为接口。
const functions = exports.instance.exports as unknown as WebAssemblyExports;
我们调用导出的函数。
console.log(functions.add(1, 2)); // 3

使用 Deno CLI 在本地运行此示例

deno run https://docs.deno.org.cn/examples/scripts/webassembly.ts

您找到所需内容了吗?

隐私政策