git和svn的混用

2022-07-21 12:06:08 字數 961 閱讀 9333

最近在開發乙個大專案的時候遇到乙個很頭疼的問題,由於專案**較多,每次都要編譯鏈結1分鐘左右,除錯的時候很浪費時間,於是研究了一下如何提高編譯鏈結的速度,在這裡分享給大家。

1. 提高xcode編譯時使用的執行緒數

xcode預設使用與cpu核數相同的執行緒來進行編譯,但由於編譯過程中的io操作往往比cpu運算要多,因此適當的提公升執行緒數可以在一定程度上加快編譯速度。本人採用的是4核的cpu,將執行緒數改為8後編譯速度略有提公升。

2. 將debug information format改為dwarf

在工程對應target的build settings中,找到debug information format這一項,將debug時的dwarf with dsym file改為dwarf。

這一項設定的是是否將除錯資訊加入到可執行檔案中,改為dwarf後,如果程式崩潰,將無法輸出崩潰位置對應的函式堆疊,但由於debug模式下可以在xcode中檢視除錯資訊,所以改為dwarf影響並不大。這一項更改完之後,可以大幅提公升編譯速度。

需要注意的是,將debug information format改為dwarf之後,會導致在debug視窗無法檢視相關類型別的成員變數的值。當需要檢視這些值時,可以將debug information format改回dwarf with dsym file,clean(必須)之後重新編譯即可。

3. 將build active architecture only改為yes

在工程對應target的build settings中,找到build active architecture only這一項,將debug時的no改為yes。

這一項設定的是是否僅編譯當前架構的版本,如果為no,會編譯所有架構的版本。需要注意的是,此選項在release模式下必須為no,否則發布的ipa在部分裝置上將不能執行。這一項更改完之後,可以顯著提高編譯速度。

本人在設定完以上三個項之後,編譯時間從1分鐘左右減少到10秒左右,因此效果還是相當明顯的。

SVN和Git的使用

架構圖 本地工作目錄 work directory 開發者進行開發的地方 版本倉庫 respository 儲存各個版本和維護更新 動態維護分支 功能分支再向主分支合併 checkout 第一次導下來,受到版本控制,svn import export 不受版本控制 delete revert upd...

Git和SVN的區別

如果你之前一直在使用svn來進行版本控制的操作,如果你還沒有機會試試git,我想你現在應該先了解一下它。git不僅僅是乙個版本控制系統,它也是乙個內容管理系統 cms 工作管理系統等。如果你是乙個具有使用svn背景的人,你需要做一定的思想轉換,來適應git提供的一些概念和特徵。所以,這篇文章的主要目...

SVN和GIT的區別

1.git是分布式的,svn不是 這是git和其它非分布式的版本控制系統,例如svn,cvs等,最核心的區別。如果你能理解這個概念,那麼你就已經上手一半了。需要做一點宣告,git並不是目前第乙個或唯一的分布式版本控制系統。還有一些系統,例如bitkeeper,mercurial等,也是執行在分布式模...