Webassembly如何获取f64的指针或引用
Posted
技术标签:
【中文标题】Webassembly如何获取f64的指针或引用【英文标题】:Webassembly how to get pointer or reference of f64 【发布时间】:2021-08-03 11:27:41 【问题描述】:在汇编脚本中是否有任何方法可以获取 f64 类型的指针?
有效:
let c: ClassA;
changetype<usize>(c)
没用
let f:f64
changetype<usize>(f)
【问题讨论】:
【参考方案1】:原始数字类型不是堆分配的。都作为局部变量在当前函数的堆栈上。如果你想分配它,你可以使用__alloc
,例如
let f_ptr = __alloc(sizeof<f64>());
store<f64>(f_ptr, f);
如果您尝试将 f64
传递给 javascript,则不必使用间接寻址,因为它是导入/导出中可能的类型之一,以及整数。
【讨论】:
谢谢,我查了手册,应该是heap.alloc(sizeof<f64>())
两者都应该工作。 github.com/AssemblyScript/assemblyscript/blob/…以上是关于Webassembly如何获取f64的指针或引用的主要内容,如果未能解决你的问题,请参考以下文章
Blazor WebAssembly Server 项目如何引用客户端索引?