我正在擴展一個已經用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. 基於項目
- 4. 基於項目
- 5. 如何將基於NIB的項目轉換爲基於Storyboard的項目?
- 6. 如何將基於視圖的iPhone項目與基於C的命令行工具項目結合使用?
- 7. 基於USB的eclipse項目
- 8. C#基於文本的遊戲項目
- 9. 如何安裝基於Django的項目?
- 10. IntelliJ中的基於目錄的項目
- 11. 的LINQ如何查詢項目的列表基於父項目
- 12. 如何編寫SPQuery以基於LinkFieldValue篩選項目?
- 13. 如何將C語言編寫的現有項目與基於iphone視圖的應用程序項目集成?
- 14. 基於現有項目創建新的Visual C++項目?
- 15. android:如何過濾基於子項目的項目?
- 16. 如何將基於spring的java項目轉換爲maven項目?
- 17. 用於編譯C/C++項目的基於遠程Linux的機器的工具
- 18. 組項目基於使用LINQ
- 19. 使用MSVC編譯基於make的項目?
- 20. 使用minGW編譯基於CMake的項目
- 21. 使用Clang編譯基於OpenCV的項目
- 22. 編譯基於大型組件的C++項目
- 23. 如何使用Sly Scroller基於jQuery項目的導航?
- 24. 如何在基於Zend的php項目中使用angularjs模板
- 25. 如何在基於maven的項目中使用戰爭
- 26. 如何在基於NDK的項目中使用adobe creative sdk
- 27. 如何使用git設置基於組件的項目
- 28. 如何在基於nightwatchjs的項目中使用npm模塊
- 29. 如何使用QtCreator爲Android/iOS構建基於CMake的項目
- 30. 如何在基於CMake的項目中使用Boost.Test?