将C++函数编译为Wasm

3
我阅读了这篇关于wasm的教程,在第三点“调用由C定义的自定义函数”之后,我试图弄清楚如何将C++函数和类绑定到JavaScript中。 我需要使用Embind吗?如果需要,应该如何操作?
我还发现了这个线程,@lacenen的第二个回答可能是一种解决方法。
1个回答

0
大多数情况下,您只需要在WASM中调用一个函数。所以简单的方法是:
#ifdef __cplusplus
extern "C" {
#endif

void EMSCRIPTEN_KEEPALIVE MyFunc()
{
    printf("MyFunc()\n");
}

#ifdef __cplusplus
}
#endif

使用EmScripten编译,您将获得一个定义了Module的.js文件。 因此,在JavaScript端,您可以使用ccall--这是没有参数或返回值的调用:
Module.ccall('MyFunc', null, null, null);

请参见:https://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html#interacting-with-code-ccall-cwrap


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接