标签: webassembly

WebAssembly程序可以泄漏内存吗?

WebAssembly程序以固定数量的虚拟内存开始,并且可以在运行时请求额外的内存.还鼓励他们丢弃未使用的物理页面.可以长时间运行,表现不佳的WebAssembly程序泄漏内存吗?这最终会导致WebAssembly程序崩溃吗?

memory-leaks web webassembly

2
推荐指数
1
解决办法
309
查看次数

最新的 emscripten 使用什么版本的 LLVM?

最新的emscripten使用什么版本的 LLVM ?我用谷歌搜索了一段时间,但找不到任何信息。背景是我有一些需要 clang-5.0 的 C++ 代码——它用 emscripten 编译的可能性有多大?或者至少需要 clang-4.0 的代码?

llvm emscripten webassembly

2
推荐指数
1
解决办法
1060
查看次数

WebAssembly是“反向波兰符号”计算器吗?

据我了解,RPN和PN有两种堆栈机,因此WebAssembly是“反向波兰符号”计算器吗?

webassembly

2
推荐指数
1
解决办法
144
查看次数

使用指定的 HTML 输出从 CMake 项目生成 Web 程序集

我有一个要编译为 Web 程序集的 CMake 项目。为此,我使用了项目基本文件夹中的以下命令:

mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=/home/ubuntu/emsdk/emscripten/1.38.6/cmake/Modules/Platform/Emscripten.cmake -G "Unix Makefiles"
Run Code Online (Sandbox Code Playgroud)

这成功地(或至少我认为)生成了一个.wasm文件和一个.js文件以及各种 cmake 和 make 文件。

我还希望它生成一个 html 文件,就像你可以使用emcc(即emcc example.c -s WASM=1 -o output.html)。

是否有可能做到这一点?

cmake emscripten webassembly

2
推荐指数
1
解决办法
2762
查看次数

如何将嵌套Vecs与wasm-bindgen一起使用?

嵌套的Vecs 似乎不适用于wasm-bindgen.那是对的吗?

我的目标是在Rust中使用生命游戏网格,我可以将其作为行返回,而不是Vec需要JavaScript处理索引的1D .我想到的两个解决方法是:

  1. 在Rust中实现一种自定义"迭代器",这是一种逐行返回行的方法.
  2. 将一维数组交给JavaScript但在JavaScript中编写一个包装器来处理索引并向消费者公开某种迭代器.

我不愿意使用其中任何一个,因为我希望这个库可以被JavaScript和本机Rust使用,而且我认为这两者在纯Rust的土地上都不会非常惯用.还有其他建议吗?

rust webassembly wasm-bindgen

2
推荐指数
1
解决办法
254
查看次数

如何从 C 代码生成带有 i64 而不是 i32 的 Webassembly (WAT)

我正在尝试使用 i64 生成一个 .wat 文件,但它只是编译为 i32。

在我使用 int 和 int64_t 测试的 C 代码中,但我没有成功。

这是C代码:

#include <stdio.h>
#include <stdint.h>

#define MAX 64

int main(void) {
    int64_t v1[MAX], v2[MAX], v3[MAX];
    int64_t i;

    for(i = 0; i < MAX; i++)
       v3[i] = v1[i] + v2[i];

    for(i = 0; i < MAX; i++)
        printf("%llu\n", v3[i]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后我使用 CLI 编译为 .wasm 和 .wat 格式:

$ emcc -Oz ex1.c -s WASM=1 -s SIDE_MODULE=1 -s ONLY_MY_CODE=1 -o ex1.wasm
$ wasm2wat ex1.wasm -o ex1.wat
Run Code Online (Sandbox Code Playgroud)

这是编译的 .wat …

firefox x86-64 emscripten webassembly

2
推荐指数
1
解决办法
975
查看次数

如何以字符串形式获取 UNO 共享项目的文件内容

在常规的 C#/UWP 中,将文件(或资源)的内容读取到字符串变量是可能没有任何(更大的)问题的。UNO 平台的 WebAssembly 构建目标是如何完成的?

我已经尝试过的:例如,根据浏览器的调试控制台,只要我尝试使用反射,我的代码执行就会停止(没有抛出任何异常)。在深入 JavaScript 丛林之前,我决定咨询这里的专家。(作为最后的解决方法,我考虑过使用 HTTP 客户端实现,但只有在确实没有可用的替代方案时我才会这样做。)

c# webassembly uno-platform

2
推荐指数
1
解决办法
252
查看次数

未捕获的类型错误:Module.cwrap 不是函数

我需要在浏览器端解码 h264 数据,因为我使用 emscripten 在 web 程序集中使用 openh264 库构建。我已经成功构建它并尝试在 java 脚本中使用它来解码 h264 数据。但是我在以下行中遇到一个错误,

var open_decoder = Module.cwrap('open_decoder', 'number', null);
Run Code Online (Sandbox Code Playgroud)

错误是:未捕获的类型错误:Module.cwrap 不是函数

如果有人使用 emscripten 构建了 openh264,请帮我找出问题。

按照我使用 emscripten 构建 openh264 的步骤。

  1. $ 源 emsdk_env.sh
  2. $./emsdk 激活最新
  3. cd openh264-js-master
  4. 制作

注意:openh264的代码已经从github(ttyridal)下载,已经有emscripten的make文件。

javascript c emscripten openh264 webassembly

2
推荐指数
1
解决办法
2309
查看次数

所有 wasm 速度都相等吗?

正如我们所知,wasm 可以从 cpp c# typescript rust 等“编译”。问题是,wasm 是从例如 cpp 还是 typescript 编译的,它会产生很大的性能差异吗?或者它是从哪里编译的并不重要,wasm 将是相同的 wasm?

webassembly blazor

2
推荐指数
1
解决办法
113
查看次数

Webpack 使用 Emscripten 引发错误:无法解析“fs”

我在将 javascript 文件导入 vue.js 组件时遇到错误:

这是 /components 子文件夹的内容:

/startingV/src/components$ ls -lah
total 132K
drwxr-xr-x 2 marco marco 4,0K dic 26 11:22 .
drwxr-xr-x 5 marco marco 4,0K dic 26 09:32 ..
-rw-r--r-- 1 marco marco  441 nov  2  2016 Counter.vue
-rw-r--r-- 1 marco marco  441 dic 21 15:13 FormValidation.vue
-rw-r--r-- 1 marco marco 100K dic 26 10:38 js_plumbing.js
-rw-r--r-- 1 marco marco 9,3K dic 26 10:38 js_plumbing.wasm
-rw-r--r-- 1 marco marco  473 dic 26 11:14 Result.vue
Run Code Online (Sandbox Code Playgroud)

编译时:

Failed to compile. …
Run Code Online (Sandbox Code Playgroud)

javascript module emscripten vue.js webassembly

2
推荐指数
1
解决办法
1419
查看次数