公司开发了一个自己的基础类库,有着庞大的头文件。为了便于使用并提高编译速度,尝试了一下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
呵呵,发现编译的时候相当快,而且不用指定库的头文件路径。
1、先定义头文件afl.h,内容如下:(afl意味a framework library)










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的这个预编译的头文件已经产生了。下面是代码中的引用方式:









4、编译这个文件:
g++ -o test.o -c test.cpp -g -Wall
呵呵,发现编译的时候相当快,而且不用指定库的头文件路径。