預編譯頭文件 今天在改一個很大的程序,慢慢看,慢慢改。突然發現一個.c文件,裡面什麼也沒有,  就幾個頭文件,我一看,我靠,這不是把簡單的問題搞複雜了嗎,隨手刪掉那個c文件。  結果不能編譯了,我靠:  fatal error C1083: Cannot open precompiled header file: \'Debug/v13_3.pch\':  No such file or directory  怎麼rebuild all都不行。  上網查了一下,才搞懂了:  ----------------總結------  如果工程很大,頭文件很多,而有幾個頭文件又是經常要用的,那麼  1。把這些頭文件全部寫到一個頭文件裡面去,比如寫到preh.h  2。寫一個preh.c,裡面只一句話:#include "preh.h"  3。對於preh.c,在project setting裡面設置creat precompiled headers,對於其他  .c文件,設置use precompiled header file  //  哈哈  我試了一下,效果很明顯,不用precompiled header,編譯一次我可以去上個廁所,用  precompiled header,編譯的時候,我可以站起來伸個懶腰,活動活動就差不多啦  ---------轉載的文章----------  預編譯頭的概念:  所謂的預編譯頭就是把一個工程中的那一部分代碼,預先編譯好放在一個文件裡(通常是  以.pch為擴展名的),這個文件就稱為預編譯頭文件這些預先編譯好的代碼可以是任何的  C/C++代碼--------甚至是inline的函數,但是必須是穩定的,在工程開發的過程中不會  被經常改變。如果這些代碼被修改,則需要重新編譯生成預編譯頭文件。注意生成預編  譯頭文件是很耗時間的。同時你得注意預編譯頭文件通常很大,通常有6-7M大。注意及  時清理那些沒有用的預編譯頭文件。  也許你會問:現在的編譯器都有Time stamp的功能,編譯器在編譯整個工程的時候,它  只會編譯那些經過修改的文件,而不會去編譯那些從上次編譯過,到現在沒有被修改過  的文件。那麼為什麼還要預編譯頭文件呢?答案在這裡,我們知道編譯器是以文件為單  位編譯的,一個文件經過修改後,...

留言