使用gcc的預編譯頭文件

     vc的預編譯頭功能很強大,可以極大的提高編譯效率,其實gcc也支持這項功能,設置更爲簡單。把所有外部文件都放到一個頭文件裏,比如predefine.h,所有引用外部文件的cpp文件都包含這個predefine.h就可以了。
    首先要產生gch文件:
    predefine.h.gch : predefine.h       
        $(cc) $(CFLAG) -x c++-header $> $^

    然後要讓編譯器知道#include "predefine.h"的源文件去檢查有gch文件。
    $(OBJ) : predefine.h.gch

    注意事項:預編譯頭文件不能包含在其他的頭文件裏面,只能被源文件包含。   個人建議儘量不要在頭文件裏包含其他的頭文件,而是放到源文件中。比如a.h要用b.h的類,不要在a.h裏面去包含b.h,而是在a.cpp裏這樣包含:
    #include "b.h"
    #include "a.h" //必須保證這個順序。   

    OK,大功告成了。享受快速編譯的樂趣吧。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章