wasm-bindgen,asm.js和Emcripten有什么区别?

问题描述 投票:1回答:1

我正在努力让webpack使用一组使用wasm-bindgen编译的WebAssembly files

即使这可能只是一个带有webpack的issue,它让我意识到我并没有完全掌握这些古怪的WebAssembly工具之间的差异。

webpack emscripten webassembly asm.js wasm-bindgen
1个回答
2
投票

使用wasm-bindgen和Emscripten编译的WebAssembly模块

这没有意义。您完全混合了所有内容,并且您链接的问题不应该应用于您的问题。 wasm-bindgen和Emscripten之间没有关系。

首先,asm.js是在浏览器中运行C / C ++(或Rust)代码的第一次尝试,被认为是WebAssembly的前身。它是JS的一个子集,可以编译C / C ++代码。 asm.js编译的C / C ++代码可以在任何浏览器中运行,因为它是JS,并且在许多浏览器中性能更高,因为它是JS的高度优化子集。但是,asm.js通常不如WebAssembly高性能。

对于其他人,简而言之:

  • Emscripten是WebAssembly / asm.js的C / C ++编译器工具链。
  • wasm-bindgen是一个Rust绑定器生成器,用于与JS代码交互。
© www.soinside.com 2019 - 2024. All rights reserved.