4
A
回答
4
重新編譯是不是必需的(和不應該,無論您使用的ORB)。正如亞當所指出的,查找是通過操作名稱來完成的(一個直接的文本比較)。 (ACE/TAO C++中的服務器,ACE/TAO C++中的客戶端,使用Borland's Janeva和C++的OmniORBPy)都已經完成了我們基於ACE/TAO系統的描述。 。
1
操作(方法)查到的名字,所以你只需要重新編譯使用新操作的客戶端。客戶
3
假定客戶機和服務器通過通信IIOP,則不需要重新編譯。 IIOP消息包含接口的名稱,方法的名稱和參數。如果這些事情都沒有改變,那麼一切都應該保持兼容。向接口添加另一種方法不會改變任何現有的東西。
在另一方面,如果你的對象是使用不同的協議,或者如果客戶端進程與服務器從而繞過IIOP,您可能需要確保一切都被重新編譯。使用託管(即在ORB啓用託管同一進程中運行)
1
客戶端必須重新編譯。遠程客戶端可能保持不變 - 如前所述,方法通過符號名稱進行匹配。
0
這取決於使用新的idl方法。 如果Corba調用是靜態的(SII),意味着您的客戶端與存根連接,那麼如果您想使用新添加的方法接口,則必須重新編譯存根。
如果CORBA調用是動態的(DII),不存在對客戶端所需存根。不需要重新編譯。在這種情況下,您的客戶端代碼應該是這樣的:
remoteObjRef->invoke("methodname", args); // send("methodname", args)
我四年前CORBA DII調用,並與陶客戶& TAO/Jacorb/IONA CORBA服務工作。
相關問題
- 1. 編譯debug = true - 更改而不重新編譯?
- 2. 更改連接字符串而不重新編譯
- 3. 更改接口無需重新編譯實現類
- 4. Mercurial hook:更改後不重新編譯?
- 5. 更改.NET應用程序設置而不重新編譯
- 6. 重新編譯scss文件以更改樣式而不必更改它們
- 7. Monodevelop沒有重新編譯更改
- 8. 頁面重新編譯代碼更改
- 9. 更改數據而無需在C#中重新編譯
- 10. 如何更改Web服務URL而無需重新編譯?
- 11. Point Vim更新Python版本,而不是重新編譯
- 12. Make Play!在修改文件時重新編譯,而不是在瀏覽器刷新時重新編譯
- 13. 如何更改已編譯的.class文件而不反編譯?
- 14. 改變jstl fmt中的翻譯而無需重新編譯
- 15. 更改arnold cpc仿真器中的默認導航鍵而不重新編譯?
- 16. 使用配置更改默認的SqlCommand CommandTimeout而不是重新編譯?
- 17. 更改服務器而不重新編譯iPhone應用程序,怎麼樣?
- 18. Java類刪除並重新編譯但仍不會更改?
- 19. Makefile不重新編譯頭文件更改
- 20. 更改資源(如圖標)不會重新編譯.qrc文件
- 21. Xcode 3.2不重新編譯更改文件
- 22. Grails shell不重新編譯已更改的文件
- 23. Matlab在重新編譯時看不到java類中的更改
- 24. 更改語言而不重新加載
- 25. 重新編譯未更新的文件
- 26. 不斷重新編譯
- 27. 重寫Mac XNU內核而不重新編譯源代碼
- 28. 重新編譯MFC擴展DLL更改導出函數的入口點
- 29. 可能更改應用程序圖標,而無需重新編譯APK?
- 30. 使用資源(resx)在ClassLibrary中,可以更改而無需重新編譯
我們一直這樣做 - 在枚舉結尾添加方法甚至新值。它像一個魅力! – Fortyrunner 2009-01-22 11:30:33