靜態庫和動態庫(靜態鏈接和動態鏈接)的區別【圖文,簡潔易懂】

在這裏插入圖片描述
靜態鏈接:主函數中調用了庫中的某個函數(one()),並且把該函數編碼進了可執行文件中。
存在的問題①:若需要調用庫中的函數過多,會造成可執行文件體積巨大.
在這裏插入圖片描述
存在的問題②:因爲庫中的函數代碼嵌入了可執行程序,所以如果庫更新了,想要更新可執行文件中庫部分的代碼,就只能重新編譯
在這裏插入圖片描述
爲了解決以上2個問題,可以讓庫中的函數不要直接編譯進可執行程序,而是放在內存中,可執行程序在使用(one)函數時,直接讀內存的地址就可以用了。這樣既減小了可執行程序的大小,又可以方便的使用庫函數更新。這種方式即爲——動態鏈接
在這裏插入圖片描述
在這裏插入圖片描述
不同平臺下靜態庫和動態庫的名稱
在這裏插入圖片描述
視頻鏈接:
https://www.youtube.com/watch?v=eW5he5uFBNM

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章