靜態庫

一. 靜態庫的簡介

所謂庫, 就是講程序代碼集合, 封裝為一個庫文件, 他是共享代碼的一種方式, 可以將自己的代碼共享給他人使用

庫的分類

開源庫: 公開代碼, 能看到代碼的具體實現

閉源庫:

不公開代碼, 將代碼的實現編譯為二進制文件, 只將API接口提供給使用者

閉源庫分為

靜態庫: .a和.framework

動態庫: .dylib和.framework

靜態庫和動態庫的區別

靜態庫在鏈接時, 會被完整的復制到可執行文件中; 多次使用, 就會有多次的拷貝;(import)

動態庫則不會復制, 只有一份, 當程序運行時動態加載到內存; 系統只加載一次, 多個程序可以共用, 節省內存

注意: 項目如果使用到自己的動態庫, 蘋果就不會上架你的APP

但是, 在WWDC2014上公布的, 蘋果對iOS8開放動態加載dylib的接口, 也就是說開放了動態庫掛載

靜態庫的主要用途

保護自己的代碼: 將自己的技術分享給其他人使用, 但是又不希望自己的代碼暴露給別人, 就可以使用靜態庫:

如一些技術公司提供的SDK: 支付寶/百度高德地圖/推送等

將MRC的項目, 打包成靜態庫, 可以直接在ARC的環境下直接使用, 不需要轉換

詳情:

1.靜態庫的framework包制作流程

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容