是否可以在emcc编译的wasm代码中导入Javascript函数?

时间:2017-04-05 00:08:48

标签: emscripten webassembly

我读过https://developer.mozilla.org/en-US/docs/WebAssembly/Using_the_JavaScript_APIhttp://webassembly.org/docs/js/,似乎我发现的用于从ism调用Javascript函数的所有示例都是用LISP启发的语法编写的。

是否可以使用emscripten C在wasm中导入JS函数?

1 个答案:

答案 0 :(得分:1)

是的,Emscripten documents how to do this。最简单的方法是在C ++中将JS函数声明为extern "C"。它将出现在您的wasm模块的导出中,然后您需要将其作为导入传入。

另一个例子是JavaScript中的wasm waterfall构建musl,并运行一些GCC tests,它编译为ism。所有C库函数都在JS中,并且wasm调用JS为它们。没有魔法:C库函数只是声明为extern "C",然后作为an import传入。