一.基本知識
在實際的程式設計過程中,通常會把一些公用函式製成函式庫,供其它程式使用,一則提搞了**的復用;二則提搞了核心技術的保密程度。所以在實際的專案開發中,經常會使用到函式庫,函式庫分為靜態庫和動態庫兩種。和多數人所熟悉的動態語言和靜態語言一樣,這裡的所謂靜態和動態是相對編譯期和執行期的:靜態庫在程式編譯時會被鏈結到目標**中,程式執行時將不再需要改靜態庫;而動態庫在程式編譯時並不會被鏈結到目標**中,只是在程式執行時才被載入,因為在程式執行期間還需要動態庫的存在。
對iphone平台來說,iphone官方只支援靜態庫聯編,因此下面就介紹下iphone中靜態庫的用法。
二.iphone靜態庫使用
1.建立靜態庫
開啟xcode新建乙個專案,選擇library下的 「cocoa touch static library」,在classes資料夾上點右鍵選擇「new file…」,然後在「cocoa touch class」下選擇「objective-c class」,這樣就可以建立objective-c風格的原始檔和標頭檔案。
同樣,也可以建立c或者c++風格的**,在classes資料夾上點右鍵,選擇「new file…」,這次選擇mac os x下的「c and c++」,就行。
然後在檔案裡編寫具體的呼叫**。
最後進行編譯,就會產生乙個以.a為結尾的檔案,就是我們需要的靜態庫。同時我們也需要生成的.h標頭檔案。
2.使用靜態庫
在需要呼叫靜態庫的工程的目錄下通過右鍵點 frameworks->add->existing files..新增之前建立的.a靜態庫檔案,然後在需要呼叫靜態庫的函式的.h檔案裡,import進來和靜態庫中.m對應的.h標頭檔案,並且宣告靜態庫里的類:@class 類名,這樣就可以使用靜態庫里的函式了。
3.聯調靜態庫
如果單單以copy的方式包含進.a靜態庫,這樣只能使用靜態庫,如果需要修改靜態庫里的函式,則需重新生成靜態庫,並將其重新包含進來,在開發階段會顯得比較麻煩。可以採用xcode的cross-project reference(跨專案參考)的方式解決。
首先把靜態庫的xcode專案整個包含進我們的當前專案(注意:不要選擇copy items to destination group's folder選項)。
接著和第二步一樣也是包含進.a靜態庫(也要注意:不要選擇copy items to destination group's folder選項)。
這樣就可以從我們當前的專案裡直接開啟靜態庫的專案,直接修改(注意:修改後編譯前必須選擇clean,清除原有的靜態庫,重新生成)。
靜態庫 動態庫學習筆記
靜態庫 動態庫學習筆記 庫 是一種可執行 的二進位制形式,可被作業系統載入記憶體執行 是寫好的 現有的 完善的可複製的 庫可分為靜態庫 a或.lib 和動態庫 so或.dll 動靜之分是因為鏈結階段對庫的處理不一樣導致。程式編譯成可執行檔案的過程 預處理 編譯 彙編 鏈結 可執行檔案。靜態庫 在鏈結...
Iphone 封裝自己的靜態庫
一 建立乙個靜態庫。新建工程,選擇library 下的 cocoa touch static library 給工程命名,例如 然後把你需要封裝的類檔案全部新增到該專案中 然後build 一次,專案就會生成乙個 a檔案。一 靜態庫的呼叫。新建乙個 工程專案,為專案命名,例如 然後把封裝了的類的標頭檔...
iphone學習筆記(二)
在今天這個特殊的節日裡 又逢光棍節 繼續這項艱辛的任務。接iphone學習筆記 一 繼續對第乙個應用程式進行分析。我們看到在objective c中同樣的都是以 號作為結尾。另外當你準備結束你的應用程式時,你需要使用如下語句釋放之前申請的記憶體 pool drain 最後一句是 return 0 可...