我在这里关注这段代码,试图在我的 AssemblyScript 代码和我的 JS 之间共享内存:
let aryPtr = instance.exports.allocateF32Array(3);
let ary = new Float32Array(instance.exports.memory.buffer, aryPtr, 3);
ary[0] = 1.0;
ary[1] = 2.0;
instance.exports.addArray(aryPtr);
还有我的 index.ts:
export function allocateF32Array(length: i32): Float32Array {
return new Float32Array(length);
}
export function addArray(data: Float32Array): i32 {
data[2] = data[0] + data[1];
return data.length;
}
但这会RuntimeError: memory access out of bounds
导致addArray
. 我是否误解了这应该如何工作?