我对脚本有一个初学者的疑问。我发现的大多数文档似乎都是关于用它构建“程序”的,这些都可以直接在浏览器中运行。
我有兴趣构建一些稍有不同的东西。我想转换一个用C实现的现有框架,该框架导出一个C API,并作为可被其他Web应用程序下载和调用的JavaScript库(可能是WASM)。
在emscripten中执行此类操作的总体方法是什么?要表明最终目标是可调用的库而不是程序,需要哪些标志和/或选项?
答案 0 :(得分:1)
您需要做的就是导出C API方法(例如,使用EMSCRIPTEN_KEEPALIVE
宏)并从JS中调用它们(例如,使用ccall
)。
通常,带有main()
的“普通”程序完全相同,只是main()
会自动为您导出并自动调用。因此,程序/库之间没有明确的区别。 (实际上,带有main()
的程序也可以导出其他C函数,并且您可以从JS调用这些函数。)
有关ccall
等的详细信息,请参见https://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html