使用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,大功告成了。享受快速编译的乐趣吧。
阅读更多
换一批

没有更多推荐了,返回首页