作者:泱泱大国吴 | 来源:互联网 | 2023-01-13 09:02
我是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语言,这种类型的指针操作的细节目前还超出了我的范围.