Модульная структура C++ (как OSGi)?
Я нашел один SOF http://www.codeproject.com/KB/library/SOF_.aspx Есть ли еще какие-нибудь стабильные фреймворки для модульности в C++?
7 ответов
Авторы библиотеки переносимых компонентов с открытым исходным кодом (POCO) также разработали модульную структуру на основе OSGI, которая называется OSP или Open Service Platform. http://www.appinf.com/en/products/osp.html. Это не с открытым исходным кодом, однако.
Я нашел эту статью, которая дает статус по состоянию на апрель 2012 года. Определенно стоит пересмотреть обзор фреймворков OSGi и C++.
Существует также BlueBerry http://www.blueberry-project.org/ который реализует компонентную среду, основанную на OSGi. Это также идет с прикладной структурой, подобной Eclipse RCP.
Переписать ядро BlueBerry можно в библиотеке CTK PluginFramework (на основе Qt Core): Введение, код GitHub.
Я никогда не видел решения всей проблемы, но я реализовал нечто подобное с помощью плагинов Qt.
Часть Qt, хорошо выполненная (которую сам C++ не реализует), работала с интерфейсами C++ OO в динамически загружаемых модулях. Из-за нестабильности именования в C++ обычно библиотеки DLL не имеют интерфейсов C++, только интерфейсы C. Qt сделал это с помощью своей мета-объектной системы, и она сработала очень чисто для меня.
Оформить заказ http://cppmicroservices.org/. Он активно развивается и обеспечивает разумную отправную точку для создания динамических сервисов на основе SOA в C++.
Apache Celix - это реализация OSGi для C и C++ http://celix.apache.org/