《深入理解計算機系統》Linking

 爲什麼不把所有的文件都編譯到一個可執行文件中: 1. 效果:分成多個模塊,有利於開發不同的優秀的模塊,開發不同的庫。 2. 效率:改代碼時,只需要重新編譯一個模塊,替換即可。 鏈接器做的2件事: 1. 符號解析。 2. 重定位:在重定位之前,每個模塊中的函數和數據只對應了在本模塊的偏移。鏈接器將所有的模塊的函數和數據進行合併,並把他們重定位。 目標文件有三種,所有的目標文件都是elf格式的: 1
相關文章
相關標籤/搜索