问题标签 [webassembly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
632 浏览

embedded-v8 - WebAssembly 通过 d8.exe

我在这里发布了这个问题,因为我在另一篇文章中提出了这个问题,但在有人回答之前找到了解决方案。只是想分享我的发现。

我决定尝试d8.exe只是因为我想玩 WebAssembly 不想安装 Chrome Canary。由于我无法使用或读取二进制文件,因此仍在尝试弄清楚如何将.wasm文件加载到其中。d8.exeXMLHttpRequestfetch

0 投票
1 回答
1799 浏览

c++ - 由于缺少文件,WebAssembly 演示指南失败

按照开发人员指南一步一步地在 MAC 上对我来说失败了。

http://webassembly.org/getting-started/developers-guide/

我有一个干净的 mac 安装10.11.6 (15G31),这里是日志。

0 投票
0 回答
530 浏览

javascript - 调用编译为 Emscripten 的 Rust 会产生错误 Module.dynCall_ii is not a function

我正在关注JavaScript教程的调用。我没有使用节点,而是直接从网络浏览器调用:

hello_world/index.html

hello_world/src/main.rs

命令:

Safari 中的错误消息:

TypeError: Module["dynCall_ii"] 不是函数。(在 'Module"dynCall_ii"' 中,'Module["dynCall_ii"]' 未定义)

Firefox Nightly 中的错误消息:

TypeError:Module.dynCall_ii 不是函数了解更多

如果我只是打印功能:

我得到(在 Firefox Nightly 上):

函数:函数 asm._hello_world()

0 投票
1 回答
6365 浏览

webassembly - 使用 WebAssembly 调用 Web API 方法

是否可以将Web API与 WebAssembly 一起使用?如果是这样,怎么做?我对Navigator 界面更感兴趣。

0 投票
5 回答
21607 浏览

javascript - 如何从 WebAssembly 函数返回 JavaScript 字符串

如何从 WebAssembly 函数返回 JavaScript 字符串?

以下模块可以用 C(++) 编写吗?

另外:我可以将它传递给 JS 引擎进行垃圾收集吗?

0 投票
4 回答
2488 浏览

javascript - Web 程序集:将 emscripten 与 c++ 库一起使用

我正计划将 c++ 库用于 Web 应用程序,而 Web 程序集似乎是一个很好的工具。我正在使用 emscripten 进行编译。

我得到了这个开源 c++ 库的源代码,并使用emmake makeemmake make install

在这两个电话之后,我的 .a 库/usr/local/<name of open source>/lib以及我的头文件/usr/local/<name of open source>/include

我还有一个使用这个开源库的示例 cpp 代码。

问题是:如何为这个 cpp 文件创建一个 html 文件?此类文件的名称是“test.cpp”,我尝试了此命令,但它会导致很多“未解析的符号”

然后我调用 emrun 在我的本地运行 Web 服务器,但 final.html 没有显示我期望它显示的内容。

你能帮我么?

控制台中未解决的符号警告

0 投票
4 回答
1576 浏览

emscripten - 在 emscripten 中禁用链接 libc

我很好奇 emscripten 是否可以在没有 libc 的情况下构建二进制文件。

如果我有 simple.c:

而且我不想包含任何libc,这可能吗?

到目前为止,我最好的尝试是:

但生成的输出仍然包括 malloc 的符号、字符串转换例程等。

我也对生成 WebAssembly 的相同过程感兴趣;也就是说,我的真正目标是生成一个只包含一个函数的 webassembly 模块。这可能与 emscripten 吗?

0 投票
3 回答
859 浏览

node.js - 节点 7.4.0 支持 V8/WebAssembly 版本?

WebAssembly.compile当我尝试在 OS X 上的节点 7.4.0 中编译二进制 WebAssembly 时,我在函数中看到以下错误:

结果 = 预期版本 0b 00 00 00,找到 0d 00 00 00

所以 V8 引擎似乎不能处理这里定义的二进制格式。

它应该在什么时候发生?

谢谢

0 投票
2 回答
18314 浏览

javascript - 将 JavaScript 数组作为参数传递给 WebAssembly 函数

我想测试 WebAssembly 进行一些复杂的数组计算。

所以我编写了一个简单的 C++ 函数,添加了两个int数组,每个数组包含 3 个元素:

并将其编译为:

emcc hello.cpp -s WASM=1 -s "MODULARIZE=1" -s "EXPORT_NAME='HELLO'" -s "BINARYEN_METHOD='native-wasm'" -s "EXPORTED_FUNCTIONS=['_array_add']" -o build/hello.js

其中生成一个js和一个wasm文件。我使用以下 html 页面加载这些内容:

但不知何故,result数组总是[0, 0, 0].

我尝试了很多方法,包括使用ccall()(参见emscripten docs)调用函数,但似乎我无法将数组作为我的 wasm 编译函数的参数传递。

例如,使用以下 C++ 函数:

在 JavaScript 中调用的结果是一个随机整数,而不是我作为参数传递的数组中的预期值。

我错过了什么?

注意:我对 C++ 几乎一无所知,所以如果这是一个与我的 C++ 无知有关的初学者问题,我深表歉意......

0 投票
1 回答
930 浏览

javascript - WebAssembly 可以成为强制执行 drm 的一种方式吗?

使用编译语言的想法可能是显着提高性能的好方法。

但它可以用来设置drm吗?

例如:一些网站提供浏览器游戏,不希望源代码被他人使用。是否会使用与游戏机制相关的 webassembly-script 来检测它是否在另一个站点上使用并锁定它而无法反编译和绕过它?

我不想在这方面听起来像个海盗,但它可能与 adblock-users 相关,它也阻止了 trackers

例如,当音频上下文指纹-脚本在没有被检测到的情况下运行时,如何阻止它?