課程
/移動開發(fā)
/iOS
/征戰(zhàn)Objective-C
什么事靜態(tài)庫和函數(shù)庫?
2016-01-19
源自:征戰(zhàn)Objective-C 1-1
正在回答
程序編譯一般需經(jīng)預(yù)處理、編譯、匯編和鏈接幾個步驟。在我們的應(yīng)用中,有一些公共代碼是需要反復(fù)使用,就把這些代碼編譯為“庫”文件;在鏈接步驟中,連接器將從庫文件取得所需的代碼,復(fù)制到生成的可執(zhí)行文件中。這種庫稱為靜態(tài)庫,其特點是可執(zhí)行文件中包含了庫代碼的一份完整拷貝;缺點就是被多次使用就會有多份冗余拷貝。
靜態(tài)庫和動態(tài)庫是 兩種共享程序代碼的方式,它們的區(qū)別是:靜態(tài)庫在程序的鏈接階段被復(fù)制到了程序中,和程序運行的時候沒有關(guān)系;動態(tài)庫在鏈接階段沒有被復(fù)制到程序中,而是 程序在運行時由系統(tǒng)動態(tài)加載到內(nèi)存中供程序調(diào)用。使用動態(tài)庫的優(yōu)點是系統(tǒng)只需載入一次動態(tài)庫,不同的程序可以得到內(nèi)存中相同的動態(tài)庫的副本,因此節(jié)省了很 多內(nèi)存。
舉報
本課程作為零基礎(chǔ)學(xué)習(xí)Objective-c教程,IOS開發(fā)可以從這里開始
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-01-19
程序編譯一般需經(jīng)預(yù)處理、編譯、匯編和鏈接幾個步驟。在我們的應(yīng)用中,有一些公共代碼是需要反復(fù)使用,就把這些代碼編譯為“庫”文件;在鏈接步驟中,連接器將從庫文件取得所需的代碼,復(fù)制到生成的可執(zhí)行文件中。這種庫稱為靜態(tài)庫,其特點是可執(zhí)行文件中包含了庫代碼的一份完整拷貝;缺點就是被多次使用就會有多份冗余拷貝。
靜態(tài)庫和動態(tài)庫是 兩種共享程序代碼的方式,它們的區(qū)別是:靜態(tài)庫在程序的鏈接階段被復(fù)制到了程序中,和程序運行的時候沒有關(guān)系;動態(tài)庫在鏈接階段沒有被復(fù)制到程序中,而是 程序在運行時由系統(tǒng)動態(tài)加載到內(nèi)存中供程序調(diào)用。使用動態(tài)庫的優(yōu)點是系統(tǒng)只需載入一次動態(tài)庫,不同的程序可以得到內(nèi)存中相同的動態(tài)庫的副本,因此節(jié)省了很 多內(nèi)存。