我正在擴展一個已經用C++語言啓動的項目。現在我正在開發項目的一個新部分。它將基於OSGi(Java)。 現在我想知道是否有任何穩定的方法來編寫與新的部分舊項目?有沒有可以將C++對象轉換爲OSGi包(或具有類似結構和元數據)的步驟?或者有什麼方法可以在他們之間進行溝通?如何使用基於C++的項目編寫基於OSGi的項目?
2
A
回答
4
雖然它不是C++,但普通的C,你可能會檢查出Apache Celix。 Apache Celix是C語言中OSGi規範的一個實現,它不依賴於任何Java實現等。目前Celix仍處於孵化階段。
關於C和Java之間的通信,Celix(短期)待辦事項列表中的一個項目是OSGi遠程服務的實現。我們打算使用hessian作爲實現,因爲它已經存在於許多其他語言中,相對簡單,二進制和緊湊。這爲分佈式系統以及C-Java通信提供了一個解決方案。
1
我不認爲有任何替代JNI,Java的本地接口。
1
您可以查看BUNDLE_NATIVECODE
標題和core specification(第3.10節)中的相關說明。儘管如此,你仍然必須使用JNI來創建大量的接口。
1
僅供參考 - 對於C < - > Java通信Paremus的OSGi遠程服務實現(請參閱Nimble)支持Avro分發提供程序。
相關問題
- 1. 基於OSGi的示例項目
- 2. 如何使用基於SVN的子項目爲zc.buildout編寫buildout.cfg
- 3. 如何將基於NIB的項目轉換爲基於Storyboard的項目?
- 4. 如何將基於視圖的iPhone項目與基於C的命令行工具項目結合使用?
- 5. 基於USB的eclipse項目
- 6. C#基於文本的遊戲項目
- 7. IntelliJ中的基於目錄的項目
- 8. 如何編寫SPQuery以基於LinkFieldValue篩選項目?
- 9. 如何將C語言編寫的現有項目與基於iphone視圖的應用程序項目集成?
- 10. 基於現有項目創建新的Visual C++項目?
- 11. android:如何過濾基於子項目的項目?
- 12. 使用minGW編譯基於CMake的項目
- 13. 使用MSVC編譯基於make的項目?
- 14. 如何在基於nightwatchjs的項目中使用npm模塊
- 15. 如何在基於CMake的項目中使用Boost.Test?
- 16. 如何使用git設置基於組件的項目
- 17. 如何在基於Zend的php項目中使用angularjs模板
- 18. 如何在基於maven的項目中使用戰爭
- 19. 基於Netbeans文件的項目,而不是基於文件夾
- 20. 現有的Maven項目到基於Eclipse的動態Web項目
- 21. 基於JavaScript庫的項目組織
- 22. 功能基於日期的項目
- 23. 設置基於URL的菜單項目
- 24. 基於XML的項目文件
- 25. 在Phonegap部署基於Android的項目
- 26. 基於Visual Studio項目的着色
- 27. 基於點擊的項目加載JavaScript
- 28. Rails 3:基於項目的權限
- 29. 清理玩的框架基於項目
- 30. 基於CMS的軟件項目設計?