轉貼於http://www.netmag.com.tw/member/article/010307a.htm
利用pre-compiled headers技術以加速編譯速度 --- 以Borland C++ Builder為例 --- |
作者: 恆逸資訊 王森 |
一個程式設計師都有的共同經驗:當程式越寫越大,每次改完程式之後要重新編譯產生執行檔,往往需要很長一段時間,對一個心急如焚的工程師來說,這真是一個夢靨。突而其來的好點子通常就在這漫長的編譯過程中被錯過了。當然,我們可以購買更高檔的硬體使得編譯速度更快。可是硬體升級的速度卻永遠趕不上程式碼增加的速度(這似乎與每次新版Windows出來的時候,我們永遠覺得電腦越來越慢的感覺有異曲同工之妙)。 |
好幾次向使用Delphi的朋友抱怨編譯時間太長,他們總是笑著勸我改用Delphi,因為Delphi的編譯速度真的很快,而且使用Delphi,幾乎可以在Windows上做到任何開發工具也做得到的事。筆者一直是一個忠誠的C++擁護者(這是情感因素,沒有貶低任何語言的意思),我也因此花了很多時間研究要怎樣才能使BCB所寫的程式可以編譯的更快,讓更多時間拿來除錯或者發揮創意。這篇文章就是我在這方面的研究心得。 |
在本文中,筆者全部以最新的BCB 5.0做為討論對象。一開始我假設讀者並沒有使用BCB的經驗,所以文章的第一部分,是專門寫給初學者看的。如果您是一個擁有豐富經驗的BCB程式設計師,那麼您可以跳過第一段<前置作業>,直接從第二段<初見pre-compiled headers技術>看起。如果您很有耐心的從頭看起,希望在第一段<前置作業>中筆者一些個人的經驗可以對各位讀者有所幫助。 |
前置作業 | ||||||||||||||||||||||||||||
|
初見pre-compiled headers技術 | |||||||
|
pre-compiled headers技術對編譯速度的影響 - 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
pre-compiled headers技術對編譯速度的影響 -2 | |||||||||||||||||||||||||||||||||||||
|
pre-compiled headers技術的運作方式 | ||||||||||||||||
|
預先編譯標記是怎麼回事? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
編譯器指令#pragma hdrstop之前只能放系統標頭檔嗎? | ||||||||||||||||||||||||||||||||||||||||||
|
讓VCL相關標頭檔也能享受pre-compiled headers的好處 | |||||||||||||||||||||||||
|
結論 | ||||||||
|
附註一: 啟動編譯器的pre-compiled headers功能 | ||
|
附註二:CB on-line help對#pragma hdrstop的解釋 | |
|