我有一些 C++ 代码,我想向 Web 应用程序的客户端公开。理想情况下,我想为我的 C++ 类编写 Javascript 包装器对象,以便我可以在客户端使用它们。
这是以前做过的吗?有没有人有一个链接来展示如何实现这一点?
我有一些 C++ 代码,我想向 Web 应用程序的客户端公开。理想情况下,我想为我的 C++ 类编写 Javascript 包装器对象,以便我可以在客户端使用它们。
这是以前做过的吗?有没有人有一个链接来展示如何实现这一点?
有一个库可以将 C++ 代码转换为 javascript,它可能会有所帮助: emscripten
Libjspp 基于 C++ 模板的包装器,用于嵌入和扩展 Javascript 引擎 spidermonkey 1 。8. 5个及以上
蜘蛛猴?是 Mozilla Project 的 Javascript/ECMAScript 引擎。
Libjspp 允许 C++ 开发者嵌入 SpiderMonkey?简单轻松地进入他们的应用程序。Libjspp 允许在同一进程中运行多个 Javascript 引擎,这适合每个线程一个引擎 para dime,这有助于实现真正的 parallisim。Libjspp 也无法阻止用户在引擎中运行多个线程。
这是一个古老的话题,但是,我现在处于确切的情况,并且我在网上找到的所有解决方案都很复杂或过时。
最近,我遇到了一个支持 V8 引擎的库(包括新的隔离 API,它使我发现 90% 的库都过时了)并提供了很好的曝光和交互 API。
https://github.com/QuartzTechnologies/v8bridge
我希望我的解决方案能帮助任何人。
有一个相对较新的库用于执行此操作,称为nbind。也许那会适合你?它对我来说看起来非常好,我正要开始使用它。
如果 C++ 代码必须在客户端上,那么对于 Web 应用程序来说没有简单的方法可以做到这一点。解决方案可能涉及为您想要支持的浏览器编写插件,然后可以从 javascript 代码访问这些插件。
例如,如果您需要将其用于客户端应用程序,则另一种情况。这样的事情已经完成,涉及将您的应用程序链接到(或从外部运行)与例如铬库或任何其他 javascript 执行引擎。这样,您可以创建与 C++ 类的绑定并使用来自 javascript 的此类对象,反之亦然。请注意,这也不是一个简单的解决方案,可能需要付出很大的努力才能实施(也需要额外的资源)。
例如,您可以将 C++ 类包装在 PHP 或 Python 中,然后通过 HTTP 实现 API 以访问所需的函数。
或者,如果您坚持将函数公开为 JavaScript,您可以尝试使用 Node.js,并创建一个 C++ 插件来包装您的类。请参阅此处的 Node.js 文档:http ://nodejs.org/api/addons.html#addons_wrapping_c_objects
但无论哪种方式,我认为都不要避免创建某种 API(HTTP SOAP、XML RPC)来访问服务器上的功能。
我想你想要一个 C++ JSON 解析器。你应该可以在这里找到一个http://www.json.org/。它可能无法满足您的所有需求,因为它只是序列化和反序列化 C++ 对象而没有任何行为,但它应该足够好。有关一些讨论,请参阅https://stackoverflow.com/questions/245973/whats-the-best-c-json-parser。