WebAssembly程序以固定数量的虚拟内存开始,并且可以在运行时请求额外的内存.还鼓励他们丢弃未使用的物理页面.可以长时间运行,表现不佳的WebAssembly程序泄漏内存吗?这最终会导致WebAssembly程序崩溃吗?
最新的emscripten使用什么版本的 LLVM ?我用谷歌搜索了一段时间,但找不到任何信息。背景是我有一些需要 clang-5.0 的 C++ 代码——它用 emscripten 编译的可能性有多大?或者至少需要 clang-4.0 的代码?
据我了解,RPN和PN有两种堆栈机,因此WebAssembly是“反向波兰符号”计算器吗?
我有一个要编译为 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)。
是否有可能做到这一点?
嵌套的Vecs 似乎不适用于wasm-bindgen.那是对的吗?
我的目标是在Rust中使用生命游戏网格,我可以将其作为行返回,而不是Vec需要JavaScript处理索引的1D .我想到的两个解决方法是:
我不愿意使用其中任何一个,因为我希望这个库可以被JavaScript和本机Rust使用,而且我认为这两者在纯Rust的土地上都不会非常惯用.还有其他建议吗?
我正在尝试使用 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 …
在常规的 C#/UWP 中,将文件(或资源)的内容读取到字符串变量是可能没有任何(更大的)问题的。UNO 平台的 WebAssembly 构建目标是如何完成的?
我已经尝试过的:例如,根据浏览器的调试控制台,只要我尝试使用反射,我的代码执行就会停止(没有抛出任何异常)。在深入 JavaScript 丛林之前,我决定咨询这里的专家。(作为最后的解决方法,我考虑过使用 HTTP 客户端实现,但只有在确实没有可用的替代方案时我才会这样做。)
我需要在浏览器端解码 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 的步骤。
注意:openh264的代码已经从github(ttyridal)下载,已经有emscripten的make文件。
正如我们所知,wasm 可以从 cpp c# typescript rust 等“编译”。问题是,wasm 是从例如 cpp 还是 typescript 编译的,它会产生很大的性能差异吗?或者它是从哪里编译的并不重要,wasm 将是相同的 wasm?
我在将 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) webassembly ×10
emscripten ×5
javascript ×2
blazor ×1
c ×1
c# ×1
cmake ×1
firefox ×1
llvm ×1
memory-leaks ×1
module ×1
openh264 ×1
rust ×1
uno-platform ×1
vue.js ×1
wasm-bindgen ×1
web ×1
x86-64 ×1