webassembly - WASI 与 Web-Assembly
问题描述
我遇到了 web-assembly wasm,甚至我尝试了一些使用 web-assembly 的代码,最近我读到了 wasi,我注意到 Ethereum Ewasm,区块链中的 Cosmos coswasm。它们之间的主要区别是什么?什么时候 WASI 是正确的解决方案,什么时候应该使用 WebAssembly?
解决方案
WASI 是 WASM 的扩展,不仅可以在 Web 上运行,还可以在任何平台上运行。WebAssembly 为概念机器提供构建目标,这意味着单个二进制文件可以在不同的处理器和计算机上运行(而不是必须构建多个不同的二进制文件)。WASI 提供了一个概念操作系统,这意味着程序可以使用一组通用的命令和子例程与操作系统进行交互,而无需重写以处理操作系统之间的差异。
如果你的代码只需要在浏览器中运行,你应该使用 WebAssembly。如果您在程序中与操作系统交互,您可能需要考虑使用 WASI。
推荐阅读
- python - 如何在Python中找到对应的FFT波数
- azure - Terraform 模板中的资源创建顺序
- python-3.x - 加入两个熊猫数据框并将数据匹配到一列
- python - unittest 中的 assertRaises 未按预期运行
- android - 从 NestedScrollView 中删除 OnScrollChangeListener
- python - Discord.py 命令冷却时间
- zarr - Zarr open() 返回 FSPathExistNotDir 错误
- reactive-programming - 反应式编程 - 使用默认和异常处理
- php - 如何使用不同选项卡的 id base 执行 WEBRTC 对等连接?
- r - 使用 corrplot 可视化 2x2 或 2x3 列联表