Dynamic Loading:可在執行階段遇到需要的程式碼再load,好處是error handling的code不用被全部塞在memory裡面
Static Linking:沒什麼特別,假設好幾個程式都include stdio.h,就會有好幾份程式碼分布在記憶體當中,很冗
Dynamic Linking:假設好幾個程式都include stdio.h,只load一份,大家共用。程式內指向Lib的部分稱為stub,當作出對Library的要求,會檢查這個Library有沒有被loaded在memory中,如果沒有就load,Windows下常見的Dll(Dynamic link library)檔就是這個
Dynamic Loading無法解決Static Linking重複code的問題!Loadin和Linking分清楚
疑問:寫好的程式第一次執行總是慢很多跟這個有沒有關聯?
看不懂 (:3/ㄥ)
回覆刪除_(:3」Z)_
回覆刪除少騙人惹ˊˇˋ
謝謝Q-max大大無私地分享(:3GC
回覆刪除