GCC:预编译头文件的尝试

    公司开发了一个自己的基础类库,有着庞大的头文件。为了便于使用并提高编译速度,尝试了一下GCC的预编译头文件的功能:

1、先定义头文件afl.h,内容如下:(afl意味a framework library)

#ifndef _AFL_H_
#define  _AFL_H_

// from here to include all head files
#include  < Log.h >
#include 
< DebugUtil.h >

#endif
2、预编译这个头文件:
g++ -o afl.h.gch -x c++-header -c afl.h -g -Wall -I"libpath..."
   使用-x c++-header来说明这个文件作为C++的预编译头文件。注意:C和C++的处理方式不一样,C要使用-x c-header选项。
3、经过上一步,alf.h.gch的这个预编译的头文件已经产生了。下面是代码中的引用方式:
// test.cpp
#include  " alf.h "

int  main()
... {
    LOG(
"test");
    
return 1;
}

    注意:所有的需要库的地方,都引用alf.h就可以了。
4、编译这个文件:
g++ -o test.o -c test.cpp -g -Wall
  呵呵,发现编译的时候相当快,而且不用指定库的头文件路径。


 

你可能感兴趣的:(C++,c,C#,gcc)