在看面經(jīng)的時(shí)候發(fā)現(xiàn)這個(gè)經(jīng)常被問(wèn)到在這里記錄一下。
靜態(tài)鏈接:靜態(tài)鏈接會(huì)將庫(kù)中的代碼直接復(fù)制一份到可執(zhí)行文件中。優(yōu)勢(shì)是可移植性好,因?yàn)樾枰拇a段已經(jīng)復(fù)制到了可執(zhí)行文件里去誓焦。缺點(diǎn)是更新靜態(tài)庫(kù)的時(shí)候需要重新編譯,而且會(huì)存在將同一份代碼拷貝多次在內(nèi)存中多次載入的問(wèn)題着帽。
動(dòng)態(tài)鏈接:是在程序運(yùn)行的時(shí)候重定位到對(duì)應(yīng)函數(shù)的代碼段杂伟。這樣保證了內(nèi)存中只有一份相關(guān)代碼的拷貝。問(wèn)題就是可移植性差(需要保證開(kāi)發(fā)人員和使用人員使用同樣的動(dòng)態(tài)庫(kù)文件)启摄。