如何将自定义内存对象传递给 WebAssembly?

重新分区

为什么我的自定义内存对象被忽略?

let memory = new WebAssembly.Memory({ initial: 16, maximum: 16, shared: true });

console.log(memory.buffer); 

// logs: SharedArrayBuffer(1048576) as expected

WebAssembly.instantiateStreaming(fetch('../out/main.wasm'), {
  
  env: { memory }

}).then(results => {
    
  console.log(results.instance.exports.memory.buffer);

    // logs: ArrayBuffer(131072) - both size and shared parameter is being ignored
  
});

这是一个小提琴https://webassembly.studio/?f=t4fgszgzy9

背景:我有一些大(64MB)的 Uint32Array,我想将一些处理委托给 C/C++,而不是每次都复制整个数组,因为在循环中复制数据的开销会破坏这种优化的目的。

为什么我需要 SharedArrayBuffer?我也在 WebWorkers 中使用这些数据,我发现它比传输对象更优雅。

sbc100

大概您已经构建了一个导出其内存而不是导入的 wasm 模块?在这种情况下,您传递的环境中的内存将被忽略。

如果是这种情况,您可以使用 wasm-objdump 进行查看。

您使用什么工具来构建模块。如果您使用 wasm-ld--import-memory进行链接,如果您希望导入内存,您可以将其传递给链接器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Javascript

如何将自定义道具传递给道具?

来自分类Dev

如何通过PendingIntent将自定义的Serializable对象传递给BroadcastReceiver

来自分类Dev

Webassembly中的内存限制

来自分类Dev

WebAssembly程序会泄漏内存吗?

来自分类Dev

如何从C / C ++访问WebAssembly线性内存

来自分类Dev

如何将字符串传递给使用emscripten进行WebAssembly编译的C代码

来自分类Dev

如何将自定义参数传递给应用

来自分类Dev

如何将自定义布局传递给PopupMenu?

来自分类Dev

如何使用SpiderMonkey在WebAssembly中启用引用?

来自分类Dev

如何将WebAssembly.Memory对象传递给从胶水.js文件实例化的WASM模块?

来自分类Dev

ReferenceError:未定义WebAssembly

来自分类Dev

Rust WebAssembly自定义元素内存释放错误

来自分类Dev

如何将WebAssembly函数导入TypeScript?

来自分类Dev

WebAssembly导出的函数返回未定义

来自分类Dev

如何导出WebAssembly功能?

来自分类Dev

在Blazor WebAssembly应用程序中如何将(string [] args)传递给Program.Main?

来自分类Dev

通过SignalR将自定义类发送到Blazor WebAssembly

来自分类Dev

WebAssembly错误:可能无法共享内存

来自分类Dev

将自定义对象传递给另一个片段

来自分类Dev

将自定义对象传递给Progress Changed方法。C#

来自分类Dev

将自定义对象传递给TestNG结果侦听器

来自分类Dev

将自定义类对象传递给Java中的泛型类型

来自分类Dev

将自定义对象传递给WTForm

来自分类Dev

Webassembly 增长内存和导入 malloc

来自分类Dev

如何将自定义对象传递给应用引擎端点

来自分类Dev

将数据传递给 WebAssembly

来自分类Dev

Webassembly.instantiate 期间如何定义最大内存?

来自分类Dev

如何将输入的值传递给 blazor webassembly 中的另一个输入?

来自分类Dev

将自定义对象传递给经过身份验证的路由

Related 相关文章

  1. 1

    如何将自定义道具传递给道具?

  2. 2

    如何通过PendingIntent将自定义的Serializable对象传递给BroadcastReceiver

  3. 3

    Webassembly中的内存限制

  4. 4

    WebAssembly程序会泄漏内存吗?

  5. 5

    如何从C / C ++访问WebAssembly线性内存

  6. 6

    如何将字符串传递给使用emscripten进行WebAssembly编译的C代码

  7. 7

    如何将自定义参数传递给应用

  8. 8

    如何将自定义布局传递给PopupMenu?

  9. 9

    如何使用SpiderMonkey在WebAssembly中启用引用?

  10. 10

    如何将WebAssembly.Memory对象传递给从胶水.js文件实例化的WASM模块?

  11. 11

    ReferenceError:未定义WebAssembly

  12. 12

    Rust WebAssembly自定义元素内存释放错误

  13. 13

    如何将WebAssembly函数导入TypeScript?

  14. 14

    WebAssembly导出的函数返回未定义

  15. 15

    如何导出WebAssembly功能?

  16. 16

    在Blazor WebAssembly应用程序中如何将(string [] args)传递给Program.Main?

  17. 17

    通过SignalR将自定义类发送到Blazor WebAssembly

  18. 18

    WebAssembly错误:可能无法共享内存

  19. 19

    将自定义对象传递给另一个片段

  20. 20

    将自定义对象传递给Progress Changed方法。C#

  21. 21

    将自定义对象传递给TestNG结果侦听器

  22. 22

    将自定义类对象传递给Java中的泛型类型

  23. 23

    将自定义对象传递给WTForm

  24. 24

    Webassembly 增长内存和导入 malloc

  25. 25

    如何将自定义对象传递给应用引擎端点

  26. 26

    将数据传递给 WebAssembly

  27. 27

    Webassembly.instantiate 期间如何定义最大内存?

  28. 28

    如何将输入的值传递给 blazor webassembly 中的另一个输入?

  29. 29

    将自定义对象传递给经过身份验证的路由

热门标签

归档