Mac 開發筆記 一 動態鏈結庫與靜態連線庫

2021-07-10 13:04:16 字數 732 閱讀 7090

一、動態鏈結庫和靜態鏈結庫

使用靜態庫的好處

1.模組化,分工合作

2.避免少量改動經常導致大量的重複編譯連線

3.也可以重用,注意不是共享使用 使用動態庫的好處

使用動態庫的好處

1.可以將最終可執行檔案體積縮小

2.使用動態庫,多個應用程式共享記憶體中得同乙份庫檔案,節省資源

3.使用動態庫,可以不重新編譯連線可執行程式的前提下,更新動態庫檔案達到更新應用程式的目的。

二、dylib檔案製作

1 new project->(os x )framework&library ->library(注:type選用dynamic)

2 新增**到專案中,標頭檔案在乙個檔案(檔名跟lib名一致,如cocoa/cocoa.h)中全部列出

3 由於.dylib不能包含資源檔案,如.xib、資源等,新建乙個bundle,把資源檔案包含進去

4 為了一次編譯得到結果,新建乙個 aggregate, 把dylib專案、bundle檔案都包含進去

5 scheme選擇 aggregate 編譯

6 編譯出的檔案包括三部分:1).dylib檔案;2).bundle檔案;3)標頭檔案【可以不需要】

7 功能驗證,在demo中匯入 .dylib 和 .bundle,import 標頭檔案開始功能驗證

動態鏈結庫與靜態鏈結庫

有人會想,動態鏈結這樣麻煩,為什麼還要用呢?這裡有乙個技術問題,對這個問題的解決直接導致了動態載入的需求。問題是有些dll只在某個windows版本中存在,或某個api只在某些windows版本中被加入指定的dll。當你使用靜態鏈結的.exe試圖在不支援的windows版本上執行時,系統會彈出系統對...

動態鏈結庫與靜態鏈結庫

原貼出處 http blog.csdn.net benny5609 archive 2008 04 17 2298998.aspxs 還有參考 http msdn.microsoft.com zh cn library 1ez7dh12 v vs.100 aspxs 首先通過乙個簡單的靜態鏈結庫的例...

靜態鏈結 庫 與動態鏈結 庫

靜態鏈結與動態鏈結 簡單的說,靜態庫和應用程式編譯在一起,在任何情況下都能執行,而動態庫是動態鏈結,顧名思義就是在應用程式啟動的時候才會鏈結,所以,當使用者的系統上沒有該動態庫時,應用程式就會執行失敗。再看它們的特點 動態庫 1.共享 多個應用程式可以使用同乙個動態庫,啟動多個應用程式的時候,只需要...