-- 簡書作者 謝恩銘 轉載請註明出處
源碼項目編譯ccache配置
一般來說,我們在編譯大型項目時,總會用到make之類的命令。比如我們公司目前的Android項目代碼,已經很大了,有幾百萬行的代碼量。
底層是C語言,Perl,C++,上層是Java。這樣的項目每一次編譯都需要耗費不少時間。
如何才能加快編譯時間呢?今天來推薦一個很好用的工具:ccache。
ccache(“compiler cache”的縮寫,就是英語“編譯器緩存”的意思)工具會高速緩存編譯生成的信息,並在編譯的特定部分使用高速緩存的信息。
比如它會緩存頭文件,這樣就節省了通常使用 cpp 解析這些信息所需要的時間。
不是真正去讀取、解釋其內容,ccache 只是將最終的文本拷貝到文件中,使得它可以立即被編譯。
使用ccache可以大大加快編譯速度:第一次編譯速度會比較慢一些,但是一旦在第一次編譯中ccache把一些中間文件拷貝到了緩存中,那之後的編譯就會快得飛起,因爲不需要再重新生成這些中間文件。
關於ccache很詳細的解釋和用法可以參考這篇文章。
《通過 ccache 改善協同構建時間》
我就不贅述了。只演示如何快速上手ccache。
以Debian這個Linux發行版(Ubuntu也屬於此家族)爲例:
安裝
sudo apt-get install ccache
使用
ccache -s # 顯示狀態參數 (s是英語status的縮寫,表示《狀態》)
ccache -C # 清除緩存(C是大寫的,是英語Clear的縮寫,表示《清除》)
配置
- 編輯 .bashrc 文件
vim ~/.bashrc
- 在其中加入以下三行
export NDK_CCACHE = ccache
export CCACHE_DIR = ~/.ccache # (目錄隨便指定)
export PATH = /usr/lib/ccache:$PATH
- source命令使修改立即生效
source ~/.bashrc
- 分配緩存大小
ccache -M 2G #(分配2G緩存)
好了,從此以後盡享ccache帶來的飛一般編譯感覺吧。
我是謝恩銘,在法國巴黎奮鬥的嵌入式軟件工程師。
目前工作是Android嵌入式和app開發。
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:向着標杆直跑