靜態鏈接

靜態鏈接

靜態鏈接是由鏈接器在鏈接時將庫的內容加入到可執行程序中的做法。鏈接器是一個獨立程序,將一個或多個庫或目標文件(先前由編譯器或彙編器生成)鏈接到一塊生成可執行程序。

基本簡介


靜態鏈接的最大缺點是生成的可執行文件太大,需要更多的系統資源,在裝入內存時也會消耗更多的時間。
Unix ld程序這樣的靜態鏈接器(static linker)以一組可重定位的目標文件作為輸入,生成一個完全連接的可以載入和運行的可執行目標文件作為輸出。輸入的可重定位目標文件由各種不同的代碼和數據節(section)組成。指令在一個節中,初始化的全局變數在一個節中;而未初始化的變數在另外一個節中。