【发布时间】:2018-06-20 07:20:26
【问题描述】:
我的.wat 文件有以下两行代码。
(memory $buf 1)
(data (i32.const 0) "hello")
我想将 $buf 作为参数传递给导入的 Javascript 函数。 Javascript 端的代码如下所示:
function consoleLogString(memory, offset,length){
var bytes = new Uint8Array(memory.buffer, 0, 5);
var string = new TextDecoder('utf8').decode(bytes);
console.log(string);
}
var importObj = {console : {log: consoleLogString}};
fetchAndInstantiate('stringLogger2.wasm',importObj).then(function(instance) {
instance.exports.writeHi();
});
}
在 wasm 方面,我希望能够做类似的事情
(import "console" "log" (func $log (param i32 i32 i32)))
(export "writeHi" (func $writeHi))
(memory $buf 1)
(data (i32.const 0) "hello")
(func $writeHi
;; how do I push my buffer onto the stack so it can be passed to the function?
i32.const 0
i32.const 5
call $log
)
【问题讨论】: