在iOS專案構建時如何應用ccache

2021-06-12 20:56:45 字數 1174 閱讀 1472

一、什麼是ccache

什麼是ccache?簡單地講,這個工具,可以在專案初次編譯時快取部分編譯結果,在下一次編譯時直接讀取該部分快取,從而提高整體的編譯速度。詳情可至官網了解(

二、使用

1.安裝

./configure

make

make install

2.配置

假設專案在xcode中設定了以llvm-gcc作為編譯器,通過檢視編譯時log

注意上圖紅框中的內容,我們可知專案是呼叫了

接著cd到

可以發現lvm-gcc-4.2實際是軟鏈到../llvm-gcc-4.2/bin/llvm-gcc-4.2,

../llvm-gcc-4.2/bin/llvm-gcc-4.2才是真正的

llvm-gcc-4.2「所在地」

現在需要對檔案進行修改:

首先,將

llvm-gcc-4.2軟鏈到ccache(ccache安裝在/usr/local/bin下,因此可以執行 ls -s /usr/local/bin/ccache /

llvm-gcc-4.2)

接著,輸入which llvm-gcc-4.2,得到的輸出是「/usr/bin/llvm-gcc-4.2",ccache會呼叫

/usr/bin/llvm-gcc-4.2來進行編譯,因此我們需要將這裡的

/usr/bin/llvm-gcc-4.2替換成上文提到的」

../llvm-gcc-4.2/bin/llvm-gcc-4.2「(軟鏈或複製貼上均可)

現在再進行編譯,ccache就會進行快取了(可以通過ccahce -s命令檢視快取命中情況)

三、專案實踐

選取了三個專案進行實際的測試

專案檔案數

原生編譯

使用ccache第一次編譯

使用ccache第二次編譯

第二次編譯命中數/總快取檔案數

快取檔案大小

a2294

36s48s

30s101/203

36mb

b9079

2333s

24s4/8

59.4 mb

c692

102111s

1024/8

33.2mb

存在問題:如果專案是採用clang進行編譯,編譯會失敗,目前還沒找到辦法解決

專案應如何啟動

描述 某經營鋼材產品的公司,近幾年業務得到了成倍的發展,原來採用手工處理業務的方式此時顯得力不從心。因此,經過公司董事會的決定,在公司推行一套管理軟體來替代原有的手工作業的方式,同時,請公司的副總負責此專案的啟動工作。副總接到任務後,隨即開始了專案的啟動工作。專案經過前期的一些工作後,副總任命小胡為...

構建c c 專案時新增巨集定義

有時候我們希望在構建時能夠在命令列新增一些巨集定義,改變程式行為。乙個典型應用示例是 裡通過檢查是否定義了debug巨集,來決定是否輸出除錯資訊。編譯器一般提供命令列選項支援這種做法,例如使用 gcc 時可以在命令列新增 d選項,定義一些巨集 gcc ddebug 1 a.c不過,大型專案一般都需要...

在中國應如何改良Scrum框架

在我的csdn部落格 上面,我發表了乙個 為什麼純粹的scrum在中國很難落地 系列,其中通過解讀新版的scrum guide來分析如果在中國嚴格照搬scrum會遇到哪些困難,有興趣的讀者可以去看看,而在本文中將在總結scrum框架缺陷的基礎上,討論應如何改良scrum框架,以保證實施成功。首先,何...