在Emscripten wiki(Interacting with code)中,只有两种类型列为可能的返回类型,要传递给ccall
或cwrap
(“number”和“string”)。如何包装/调用不返回任何内容的函数(void返回类型)?
答案 0 :(得分:4)
"空"作为void函数的返回类型而不是字符串。
例如:
my_fun = Module.cwrap('my_fun', null, ['number', 'number']);
答案 1 :(得分:1)
Examples on the site也使用number
,因为它会被忽略。这就是wiki中使用的示例。
我在所有的emscripted代码中使用它,并且效果很好。一般来说,查看emscripten
repo的examples文件夹是语法的最佳选择。此外,这是记录的用途,因此对冲未来的变化可能更安全。
例如,C函数
void test(char* buffer, int buffersize) {
// ...
}
可以包装为
var test = Module.cwrap('test', 'number', ['number', 'number']);