靜態庫
出自 MBA智库百科(https://wiki.mbalib.com/)
靜態庫(Static library, Statically-linked library)
目錄 |
靜態庫是指在我們的應用中,有一些公共代碼是需要反覆使用,就把這些代碼編譯為“庫”文件;在鏈接步驟中,連接器將從庫文件取得所需的代碼,複製到生成的可執行文件中的這種庫。
程式編譯一般需經預處理、編譯、 彙編和鏈接幾個步驟。在我們的應用中,有一些公共代碼是需要反覆使用,就把這些代碼編譯為“庫”文件;在鏈接步驟中,連接器將從庫文件取得所需的代碼,複製到生成的 可執行文件中。這種庫稱為靜態庫,其特點是 可執行文件中包含了庫代碼的一份完整拷貝;缺點就是被多次使用就會有多份冗餘拷貝。
靜態庫和動態庫是兩種共用程式代碼的方式,它們的區別是:靜態庫在程式的鏈接階段被覆制到了程式中,和程式運行的時候沒有關係;動態庫在鏈接階段沒有被覆制到程式中,而是程式在運行時由系統動態載入到記憶體中供程式調用。使用動態庫的優點是系統只需載入一次動態庫,不同的程式可以得到記憶體中相同的動態庫的副本,因此節省了很多記憶體。