2010-12-07 47 views
0

我一直在使用一個工具一段時間,我非常喜歡它,我想把它作爲一個eclipse插件。不幸的是,我認爲它是用C++編寫的。有什麼方法可以將這樣的代碼庫用作Eclipse插件的基礎,而不用在Java中重寫它?在Eclipse插件中可以使用非Java代碼嗎?

順便說一句:該工具是封閉的源代碼,商業,由其他人維護並需要用作GUI小部件。我主要想知道是否可以讓業主談論這件事。

回答

1

你可以嘗試創建Java包裝使用SWIG(純JNI,這是一個重大的PITA雖然或)你的C++代碼。

1

通常,將現有的本機應用程序和工具集成到Eclipse中是一項重大工作。如果你想與維護者交流,你必須說服他們爲什麼移植到Eclipse對他們有好處。

但是,如果有合適的C++ API,你可以自己做很多。你可以使用SWIG來封裝API,或者編寫一個包裝程序可執行文件,這個可執行文件使用一些用於序列化協議的通信程序,例如Google Protobuf。但是,這不會考慮在Eclipse中集成用戶界面,所以如果該工具的用戶界面很重,這可能對您沒有多大幫助。

+0

用戶界面的重量會有點輕描淡寫:http://www.scootersoftware.com/ – BCS 2010-12-08 15:28:41

1

取決於它是什麼工具,你可以考慮一些其他選項。如果它是代碼生成或翻譯工具,那麼您可能只需要一個自定義構建器即可,該構建器可以調用該工具作爲構建過程的一部分,其中包含您選擇的選項和目標。例如,您可以運行Visual Studio構建作爲Eclipse編譯的一部分,而不會出現任何問題。

或者如果它是一個圖形工具,請檢查它是否是一個COM對象,它可以「輕鬆」包裝到Java中,因此也可以包裝到Eclipse插件中。

最後,我還想投票給SWIG。這些東西非常好,可以很容易地將C或C++ API封裝到Java中,併爲您生成大量的JNI代碼。

相關問題