我需要从javascript调用c ++函数.有可能吗?

Aya*_*yan 14 javascript c++ web

有c ++库,我需要从客户端浏览器上运行的JavaScript对这个库进行函数调用,该库只驻留在客户端机器上.如何加载库并访问c ++库提供的接口(函数)?该库主要包含算法和渲染调用.

xdh*_*ore 2

我能想到的几个选择:

1) 在 JavaScript 中找到不同的库。

2) 将 C++ 代码移植到 JavaScript。这有多容易取决于 C++ 代码的复杂程度或您需要多少代码。

3) 将 C++ 代码包装在服务器上的 Web 服务中,并使用 AJAX 调用它。我个人并不熟悉任何 C++ Web 服务框架,但除此之外,您可以为库(或仅为您需要的部分)创建JavaPython.NET绑定,或使用其他语言创建绑定。然后您可以用您选择的任何语言编写您的网络服务。

3B) #3 的替代方案 - 如果库有命令行界面,或者存在使用该库的命令行程序,您的 Web 服务可以调用它,而您不必编写语言绑定。但请注意,此选项存在性能和安全问题需要注意。

4) 如果您有该库的 C++ 源代码,您可以尝试使用Emscripten将库编译为 JavaScript 。

我大概会按这个顺序尝试一下。我可能会最后尝试#3,因为它可能是最棘手的。

另外,如果您执行#3 或#3B,您将需要确保对该库的使用是线程安全的。

免责声明:除了 #3B 之外,我从未尝试过其中任何一个。