如何在Emscripten中使用void作为返回来包装或调用C函数?

时间:2014-06-26 14:32:49

标签: emscripten

在Emscripten wiki(Interacting with code)中,只有两种类型列为可能的返回类型,要传递给ccallcwrap(“number”和“string”)。如何包装/调用不返回任何内容的函数(void返回类型)?

2 个答案:

答案 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']);