魚和熊掌都要吧

2021-07-04 13:16:56 字數 1603 閱讀 7729

前言:本文部分部片採取網上的。

自從xcode六之後蘋果就取消掉pch.減少編譯時間和增加效能

在xcode6之前,建立乙個新工程xcode會在supporting files資料夾下面自動建立乙個「工程名-prefix.pch」檔案,也是乙個標頭檔案,pch標頭檔案的內容能被專案中的其他所有源檔案共享和訪問。是乙個預編譯檔案。

首先說一下pch的作用:

1.存放一些全域性的巨集(整個專案中都用得上的巨集)

2.用來包含一些全部的標頭檔案(整個專案中都用得上的標頭檔案)

3.能自動開啟或者關閉日誌輸出功能

雖然用了很久的xcode6但是專案是xcode5之前建立好的,所以一開始並沒有發現缺少了這個pch檔案。蘋果為什麼要這麼做呢,原因可能是因為大家把大量的標頭檔案和巨集定義放到pch裡邊,導致編譯時間過長。蘋果去掉他可能是要加快編譯時間增加使用者體驗。雖然失去了程式設計的便利性。不得不佩服蘋果的以使用者為中心的思考方式。更詳細的討論可以去stackoverflow上去看

如何在xcode中新增pch檔案:

command+n,開啟新建檔案視窗:ios->other->pch file,建立乙個pch檔案

2,在工程的targets裡邊building setting中搜尋prefix header,然後把precompile prefix header右邊的no改為yes:

3.然後在precompile prefix header下邊的prefix header右邊雙擊,新增剛剛建立的pch檔案的工程

路徑,新增格式:「$(srcroot)/專案名稱/pch檔名」 ,$(srcroot)的意思就是工程根目錄的意思。如果還不太清楚的話可以右鍵pch檔案,然後show in finder:

上圖中黃色圈出來的就是$(srcroot),也就是工程的根目錄,然後後邊還有乙個pchtext和pch兩個資料夾,所以完整的pch檔案的路徑就是:$(srcroot)/pchtext/pch

新增完成後,他會自動幫你變成你工程所在的路徑:

可以了,編譯一下程式,如果有錯誤檢查一下新增的路徑是否正確。

4,將precompile prefix header為yes,預編譯後的pch檔案會被快取起來,可以提高編譯速度

祝好

魚和熊掌都要吧

前言 本文部分部片採取網上的。自從xcode六之後蘋果就取消掉pch.降低編譯時間和新增效能 在xcode6之前。建立乙個新projectxcode會在supporting files目錄以下自己主動建立乙個 project名 prefix.pch 檔案,也是乙個標頭檔案,pch標頭檔案的內容能被專...

魚和熊掌不可兼得

互動。每次可以詢問乙個排列,返回這個排列與答案排列相同位置的個數,求出這個答案排列。n 5 103 que ries 5 1 04 n le 5 times 10 3 queries le 5 times 10 4 n 5 10 3 qu erie s 5 104考慮先求出乙個錯排,那答案會形如若干...

(學軍集訓)魚和熊掌不可兼得

互動題。有乙個排列p,你每次可以詢問乙個排列ans,可以得到p與ans相同的位置有多少個 count ans 你需要在不超過limit的詢問次數內得出這個排列。資料範圍 n 5000,l imit 50000 n le5000,limit 50000 n 5000 lim it 5 0000 考慮在...