现在的位置: 首页 > 综合 > 正文

GCC:预编译头文件的尝试

2013年09月21日 ⁄ 综合 ⁄ 共 560字 ⁄ 字号 评论关闭
    公司开发了一个自己的基础类库,有着庞大的头文件。为了便于使用并提高编译速度,尝试了一下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
  呵呵,发现编译的时候相当快,而且不用指定库的头文件路径。

 

抱歉!评论已关闭.