【发布时间】:2017-09-27 21:30:26
【问题描述】:
我读了tutorial 关于 wasm 和第 3 点之后。“调用 C 中定义的自定义函数”我试图弄清楚如何以这种方式将 C++ 函数和类绑定到 JavaScript?我必须在那里使用Embind,但是如何使用?
我还发现了这个thread,@lacenen 的第二个答案可能是一种解决方法。
【问题讨论】:
我读了tutorial 关于 wasm 和第 3 点之后。“调用 C 中定义的自定义函数”我试图弄清楚如何以这种方式将 C++ 函数和类绑定到 JavaScript?我必须在那里使用Embind,但是如何使用?
我还发现了这个thread,@lacenen 的第二个答案可能是一种解决方法。
【问题讨论】:
大多数时候你只需要在 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);
【讨论】: