前面已經介紹過如何安裝ccache,這裡不廢話。要確保ccache 版本不低於3.19
brew install ccache --head
如果之前安裝了ccache release版本也沒有關係,因為ccache release版本已經是3.19了。
如何安裝brew?前面也介紹過,不解釋。可google homebrew
我們以替換xcode預設工具鏈中的clang和clang++的方式把ccache加到clang的前端。所以需要編寫兩個指令碼,分別叫clang.new / clang++.new。暫且放到$home/bin下面。
#!/bin/bash
export ccache_cpp2=yes
/usr/local/bin/ccache clang "$@"
在~/bin建立指令碼ccache-clang,內容如上,不要忘了+x。
chmod a+x ~/bin/ccache-clang
ccache-clang++
#!/bin/bash
export ccache_cpp2=yes
/usr/local/bin/ccache clang++ "$@"
在~/bin新建指令碼ccache-clang++,內容如上。
chmod a+x ~/bin/ccache-clang++
修改xcode clang compiler plugin
xcode_usr=$( xcode-select -p)/usr/bin
cd xcode_usr
ln -s ~/bin/ccache_clang clang.new
ln -s ~/bin/ccache_clang++ clang++.new
xcode_plugin=$( xcode-select -p )
cd "$xcode_plugin/../plugins/xcode3core.ideplugin/contents/sharedsupport/developer/library/xcode/plug-ins"
cd "clang llvm 1.0.xcplugin/contents/resources"
很有可能你需要sudo 上面所有命令
修改clang llvm 1.0.xcspec
sed -i backup1 -e "s/execpath[[:blank:]]*=[[:blank:]]*\"clang\"/execpath = \"clang.new\"/g" clang\ llvm\ 1.0.xcspec
sed -i backup2 -e "s/execcpluspluslinkerpath[[:blank:]]*=[[:blank:]]*\"clang\+\+\"/execcpluspluslinkerpath = \"clang\+\+.new\"/g" clang\ llvm\ 1.0.xcspec
也可以手工修改xcspec檔案,找到execpath=」clang」改為execpath=」clang.new」;execcpluspluslinkerpath=」clang++」改為 execcpluspluslinkerpath=」clang++.new」。全文分別只有一處,不要改錯了,你最好自己先備份乙份xcspec檔案。
上面的命令要在下面的目錄裡面執行
$xcode_plugin/../plugins/xcode3core.ideplugin/contents/sharedsupport/developer/library/xcode/plug-ins/clang llvm 1.0.xcplugin/contents/resources
好了,現在就可以使用ccache+clang+llvm編譯windgame了。
ccache 利用快取加速編譯過程
原理 通過快取初次編譯過程中的結果,提高之後的編譯速度。使用 1 建立符號鏈結至gcc g c cc等 如 ln s ccache usr local bin gcc ln s ccache usr local bin g ln s ccache usr local bin cc ln s ccac...
c Cache 使用例項
建立快取項的檔案 快取key object物件 public static void insert string key,object obj 移除快取項的檔案 快取key public static void remove string key 建立快取項的檔案依賴 快取key object物件 ...
C Cache何時使用及使用方法
cache 即快取記憶體.那麼cache是怎麼樣提高系統效能與執行速度呢?是不是在任何情況下用cache都能提高效能?是不是cache用的越多就越好呢?我在近 期開發的專案中有所體會,寫下來當作總結也希望能跟大家一起 有錯誤的地方希望大家批評指正。1.cache 是怎麼樣工作的?cache 是分配在...