我是WebAssembly和Emscripten的新手,我正在尝试将JavaScript中的字符串数组传递给C函数,以便使用Module.cwrap(...)
进行进一步处理。理想情况下,我还希望将一组字符串从C返回给JavaScript。
以下是我正在寻找的一些伪代码:
JS
const strings = ["foo", "bar", "fool", "gnar"]
const result = Module.cwrap("myCFunc", "array", ["array"])
console.log(result) // ["my", "transformed", "array"]
C
char **myCFunc(char **input) {
// do some processing. Specifically some md5 hashing...
return output;
}
我的猜测是,我不能自己从JS到C函数传递多维数组,但是必须使用WebAssembly堆内存。 我知道emscripten JS API支持这种事情,但是我还没有写过多年的C语言,而且这种类型的指针操作的具体细节目前已超出我的范围。