- WebAssembly 教程
- WebAssembly - 首页
- WebAssembly - 概述
- WebAssembly - 简介
- WebAssembly - WASM
- WebAssembly - 安装
- WebAssembly - 编译到WASM的工具
- WebAssembly - 程序结构
- WebAssembly - JavaScript
- WebAssembly - JavaScript API
- WebAssembly - 在Firefox中调试WASM
- WebAssembly - “Hello World”
- WebAssembly - 模块
- WebAssembly - 验证
- WebAssembly - 文本格式
- WebAssembly - 将WAT转换为WASM
- WebAssembly - 动态链接
- WebAssembly - 安全性
- WebAssembly - 使用C语言
- WebAssembly - 使用C++
- WebAssembly - 使用Rust
- WebAssembly - 使用Go
- WebAssembly - 使用Node.js
- WebAssembly - 示例
- WebAssembly 有用资源
- WebAssembly - 快速指南
- WebAssembly - 有用资源
- WebAssembly - 讨论
WebAssembly - 将WAT转换为WASM
在上一章中,我们学习了如何编写.wat 代码,也就是WebAssembly文本格式。WebAssembly文本格式不能直接在浏览器中运行,需要将其转换为二进制格式,即WASM,才能在浏览器中运行。
WAT到WASM
让我们将.WAT转换为.WASM。
我们将使用的代码如下:
(module
(func $add (param $a i32) (param $b i32) (result i32)
get_local $a
get_local $b
i32.add
)
(export "add" (func $add))
)
现在,访问WebAssembly Studio,网址为https://webassembly.studio/。
点击链接后,您应该会看到如下界面:
点击“Empty Wat project”,然后点击底部的“Create”按钮。
这将带您进入一个空项目,如下所示:
点击`main.wat`,用您的代码替换现有代码,然后点击保存按钮。
保存后,点击“build”按钮将其转换为.wasm:
如果构建成功,您应该会看到如下所示创建的.wasm文件:
下载`main.wasm`文件,并在您的.html文件中使用它来查看输出,如下所示。
例如:add.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>WebAssembly Add Function</title>
</head>
<body>
<script>
let sum;
fetch("main.wasm")
.then(bytes => bytes.arrayBuffer())
.then(mod => WebAssembly.compile(mod)) .then(module => {
return new WebAssembly.Instance(module)
})
.then(instance => {
sum = instance.exports.add(10,40);
console.log("The sum of 10 and 40 = " +sum);
});
</script>
</body>
</html>
该函数`add`已导出,如代码所示。传递的参数是两个整数值10和40,它返回它们的和。
输出
输出显示在浏览器中。
广告