導航:首頁 > 源碼編譯 > 動態編聯在編譯時確定操作函數的

動態編聯在編譯時確定操作函數的

發布時間:2023-06-01 20:30:44

『壹』 動態聯編是在運行時選定調用的成員函數的

是的,你可以使用靜態編譯和動態編譯後反匯編比較一下!

『貳』 淺談靜態聯編和動態聯編的區別和實現動態聯編的

聯編是指一個程序自身彼此關聯的過程。按照聯編所進行的階段不同,可分為靜態聯編和動態聯編。
靜態聯編又稱靜態綁定,指在調用同名函數(即重載函數)時編譯器將根據調用時所使用的實參在編譯時就確定下來應該調用的函數實現。它是在程序編譯連接階段進行聯編的,這種聯編又稱為早期聯編,這是因為這種聯編工作是在程序運行之前完成的。它的優點是速度快,效率高,但靈活性不夠。
編譯時所進行的聯編又稱為靜態束定。束定是指確定所調用的函數與執行該函數代碼之間的關系。
動態聯編也稱動態綁定,是指在程序運行時,根據當時的情況來確定調用的同名函數的實現,實際上就是在運行時選擇虛函數的實現。這種聯編又稱為晚期聯編或動態(束定。實現條件:①要有繼承性且要求創建子類型關系;)②要有虛函數;③通過基類的對象指針或引用訪問虛函數。繼承是動態聯編的基礎,虛函數是動態聯編的關鍵,虛函數經過派生之後,在類族中就可以實現運行過程中的多態。動態聯編要求在運行時解決程序中的函數調用與執行該函數代碼間的關系,調用虛函數的對象是在運行時確定的。對於同一個對象的引用,採用不同的聯編方式將會被聯編到不同類的對象上。即不同聯編可以選擇不同的實現,這便是多態性。它的優點是靈活性強,但效率較低。

『叄』 聯編的動態聯編

動態聯編又稱動態關聯、動態束定、後期聯編、晚期聯編。
動態聯編是指編譯程序在編譯階段並不能確切地知道將要調用的函數,只有在程序執行時才能確定將要調用的函數,為此要確切地知道將要調用的函數,要求聯編工作在程序運行時進行,這種在程序運行時進行的聯編工作被稱為動態聯編。C++規定:動態聯編是在虛函數的支持下實現的。
動態聯編必須包括以下方面:
1、成員函數必須聲明為virtual
2、如果基類中聲明了為虛函數,則派生類中不必再聲明。
調用方式:
通過對象的指針或引用調用成員函數,或通過成員函數調用,反之就無法實現動態聯編。 #include<iostream>#include<string>usingnamespacestd;classCBuilding{//定義建築類stringname;//定義名稱public:voidset(stringstrName);//修改名稱virtualvoiddisplay()//顯示信息,這里是內聯函數,而且聲明為虛函數{cout<<建築是<<name<< ;}};//建築類定義完畢voidCBuilding::set(stringstrName){//修改名稱方法的實現name=strName;}classCBridge:publicCBuilding{//通過繼承來定義橋類floatlength;//定義長度public:voidsetLength(floatl=0.0){length=l;}//設置長度voiddisplay(){CBuilding::display();//調用基類方法顯示名稱cout<<其長度是<<length<<米。 ;//顯示長度信息}};//橋類定義完畢voidmain(){CBuildingbuilding;//創建建築對象CBridgebridge;//創建橋對象building.set(中國古代建築);//設置名稱building.display();//顯示信息bridge.set(中國趙州橋);//設置橋的名稱bridge.setLength(static_cast<float>(60.40));//修改橋的長度bridge.display();//顯示橋的信息return;}這就是動態聯編,編譯器在程序運行時才知道這個函數的具體作用。

閱讀全文

與動態編聯在編譯時確定操作函數的相關的資料

熱點內容
與門單片機 瀏覽:710
正規的重慶移動伺服器租用雲主機 瀏覽:69
php清除所有session 瀏覽:724
如何編譯ts 瀏覽:796
學生買個雲伺服器要多少錢 瀏覽:996
在運行對話框中輸入命令提示符 瀏覽:289
微信公眾號開發教程php 瀏覽:195
電腦作為伺服器怎麼配置 瀏覽:93
磨砂殼文件夾 瀏覽:980
b2c開源源碼 瀏覽:56
電腦qq壓縮文件解壓縮失敗 瀏覽:177
大齡女程序員想轉行 瀏覽:101
聚幣交易所app怎麼充值 瀏覽:164
加密文件如何解除加密iPad 瀏覽:924
太極張三豐懷舊源碼 瀏覽:106
2016考研大綱pdf 瀏覽:68
程序員sdk演算法 瀏覽:528
程序員聽診技巧 瀏覽:623
從技術走向管理pdf 瀏覽:824
思科命令行模式刪除用戶 瀏覽:569