C++ modularization framework (like OSGi) ?

2019-02-02 04:08发布

问题:

I found one SOF http://www.codeproject.com/KB/library/SOF_.aspx , Are there anyother stable frameworks for modularization in C++ ?

回答1:

The OSGi4Cpp tries to implement the OSGi specification in C++.



回答2:

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.



回答3:

I found this write-up which gives a status as of April 2012. Definitely worth reviewing OSGi and C++ frameworks overview.



回答4:

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 .



回答5:

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.



回答6:

Checkout cppmicroservices. It is actively developed and provides a reasonable starting point for creating an SOA based dynamic services in C++.



回答7:

Apache Celix is an OSGi implementation for C and C++ http://celix.apache.org/