首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是WebAssembly (Wasm)模块?

什么是WebAssembly (Wasm)模块?
EN

Stack Overflow用户
提问于 2018-10-05 20:28:48
回答 2查看 1.4K关注 0票数 7

正在阅读关于瓦斯的MDN文档。他们多次使用WASM模块这个术语。其定义如下:

WebAssembly.Module对象包含已由浏览器编译的无状态WebAssembly代码,可以与Worker有效地共享这些代码,并多次实例化。要实例化该模块,请调用WebAssembly.instantiate()的辅助重载。

我不太明白这是什么意思。web组装模块仅仅是一个Wasm文件,还是其他什么东西?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-06 15:33:37

WebAssembly是一种低级的代码形式,可以在现代浏览器中执行.为了执行这段代码,浏览器必须编译它,尽管由于它是低级别的,与JavaScript相比,这个编译是相对快速和简单的。

WebAssembly API将编译步骤与实例化和执行步骤分开。因此,WebAssembly模块是可以实例化和执行的WebAssembly代码的编译版本(您所引用的wasm文件)。

票数 5
EN

Stack Overflow用户

发布于 2020-05-12 23:19:16

什么是网络组装?

Wasm(Wasm)是一种以JavaScript以外的编程语言编写的代码并在浏览器中运行的一种方法。

它由编译器以二进制格式生成,允许我们在浏览器上执行任何语言代码。

它是如何工作的?

尽管有其名称,但WebAssembly并不完全是一种汇编语言,因为它不适合于任何特定的机器。这是针对浏览器的,当您交付要在浏览器中执行的代码时,您不知道您的代码将运行在哪种机器上。

WebAssembly使您能够做的是将类似于C、C++或Rust代码之类的东西编译成所谓的更高级的WebAssembly模块。您可以将其加载到web应用程序中,并从JavaScript调用它。

Wasm程序分两个阶段部署。

  1. Wasm模块是从源代码(除JavaScript以外的任何语言)生成的。
  2. 一旦构建了Wasm模块,就可以使用几行JavaScript胶水在任何地方运行它:

它不是JavaScript的替代品,它与JavaScript一起工作。

这里是一篇很好的文章,可以更详细地介绍。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52672915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档