C++模块化框架(如 OSGi)?
我发现了一个 SOF http://www.codeproject.com/KB/library/SOF_。 .aspx , C++ 中还有其他稳定的模块化框架吗?
I found one SOF http://www.codeproject.com/KB/library/SOF_.aspx ,
Are there anyother stable frameworks for modularization in C++ ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
开源可移植组件库 (POCO) 的作者还开发了一个基于 OSGI 的模块化框架,称为 OSP 或开放服务平台。 http://www.appinf.com/en/products/osp.html 。然而它不是开源的。
The authors of the open source Portable Components library (POCO) have also developed a modular framework based on OSGI called OSP or Open Service Platform. http://www.appinf.com/en/products/osp.html. It's not open source however.
我发现这篇文章给出了截至 2012 年 4 月的状态。绝对值得回顾
OSGi 和 C++ 框架概述。
I found this write-up which gives a status as of April 2012. Definitely worth reviewing
OSGi and C++ frameworks overview.
还有 BlueBerry http://www.blueberry-project.org 它实现了基于组件的框架由 OSGi 提供。它还附带了一个类似于 Eclipse RCP 的应用程序框架。
BlueBerry 核心的重写可以在 CTK PluginFramework 库中找到(基于 Qt Core): 简介、GitHub 代码。
There is also BlueBerry http://www.blueberry-project.org which implements a component based framework inspired by OSGi. It also comes with an application framework similar to the Eclipse RCP.
A rewrite of the BlueBerry core can be found in the CTK PluginFramework library (based on Qt Core): Introduction, GitHub Code .
OSGi4Cpp 尝试用 C++ 实现 OSGi 规范。
The OSGi4Cpp tries to implement the OSGi specification in C++.
我从未见过整个问题的解决方案,但我使用 Qt 插件实现了类似的东西。
Qt 做得很好的部分(C++ 本身没有实现)是在动态可加载模块中处理 C++ OO 接口。由于 C++ 名称修饰是非标准的,通常 DLL 没有 C++ 接口,只有 C 接口。 Qt 用它的元对象系统做到了这一点,它对我来说工作得非常干净。
I've never seen a solution to the whole problem, but I implemented something similar using Qt plugins.
The part Qt did nicely (that C++ by itself doesn't implement) was handling C++ OO interfaces in dynamically loadable modules. Because of C++ name-mangling being non-standard, usually DLLs don't have C++ interfaces, only C interfaces. Qt did it with it's meta-object system, and it worked really cleanly for me.
查看 cppmicroservices。它正在积极开发中,并为用 C++ 创建基于 SOA 的动态服务提供了合理的起点。
Checkout cppmicroservices. It is actively developed and provides a reasonable starting point for creating an SOA based dynamic services in C++.
Apache Celix 是 C 和 C++ 的 OSGi 实现
http://celix.apache.org/
Apache Celix is an OSGi implementation for C and C++
http://celix.apache.org/