0
A
回答
3
這個問題有幾個方面。如果我們談論關於動態綁定的對象。讓我們考慮以下情況
class Base {
public:
virtual void method() { std::cout << "Base::method" << std::endl; }
};
class Derived : public Base {
public:
virtual void method() { std::cout << "Derived::method" << std::endl; }
};
// ....
void testMethod(Base* pBase) {
pBase->method();
}
函數調用不是在編譯時還不知道,這可能是基地::方法或派生::根據運行時類型PBASE的方法。這就是爲什麼當呼叫實際即將發生時,它的被稱爲dyanmic綁定(或後期綁定)的實際方法調用。
另一方面,我們有動態和靜態加載。這與加載庫有關。一種可能性是創建一個靜態庫 - 一個帶有目標代碼的文件 - 在編譯器編譯並鏈接它時鏈接到您的程序。它在編譯後不能被修改,因爲它的名字來自靜態綁定到你的程序。
如果您要進行動態加載,而不是在編譯時將代碼添加到程序中,請在運行時加載它。不同的操作系統提供了各種方法來實現。對於Windows用戶DLL文件不應該是未知的東西。它們包含目標代碼,當程序請求代碼時,它會加載提供代碼並執行該代碼的DLL。這使您可以添加不同版本的DLL,而無需重新編譯程序(只要簽名和一般行爲保持不變) - 我們可以說它的動態。
+0
好的解釋謝謝兄弟! ! –
相關問題
- 1. 動態綁定和動態加載有什麼區別?
- 2. c + +動態綁定和java動態綁定有什麼區別?
- 3. 動態鏈接和動態加載有什麼區別
- 4. 動態鏈接器和動態加載器有什麼區別?
- 5. Silverlight:動態加載和綁定Xaml
- 6. 靜態綁定和數組的動態綁定之間的區別
- 7. 動態綁定與動態綁定之間有什麼區別Objective C C
- 8. 靜態和動態綁定
- 9. 動態綁定和靜態綁定
- 10. 加載時動態鏈接和運行時動態鏈接之間的區別
- 11. 靜態與動態綁定 - 有什麼區別?
- 12. 動態加載和動態鏈接
- 13. 靜態和動態綁定的概念
- 14. 動態綁定
- 15. 動態綁定?
- 16. jqGrid和動態列綁定
- 17. 靜態綁定與動態綁定
- 18. 動態和靜態綁定在Java中
- 19. 動態加載的控件和數據綁定
- 20. 動態加載fxml的綁定寬度和高度
- 21. 動態數據綁定與腳手架的區別
- 22. 動態和System.Object之間的區別
- 23. 動態綁定MenuItems
- 24. Guice - 「動態」綁定?
- 25. 動態綁定RadGrid
- 26. 動態列綁定
- 27. 動態JavaFX綁定
- 28. WPF動態綁定
- 29. 動態綁定WPF
- 30. C++動態綁定
你確定你選擇正確的詞嗎?動態加載和動態綁定實際上是一回事。但是,靜態綁定和動態綁定是有區別的。 – Muepe
ya.i在我的書上看到這個詞 – MBMJ
http://stackoverflow.com/questions/6866432/what-are-similarities-and-differences-between-dynamic-loading-and-late-binding –