创建wxWidgets项目的预编译头文件

来源:互联网 发布:pantheon linux 编辑:程序博客网 时间:2024/05/18 00:58

创建wxWidgets项目的预编译头文件

转载:http://hi.baidu.com/cenxcen/item/9474d10cb4959279bfe97ed3

   所谓的预编译头文件,其实我们很熟悉的,这里的头文件(Microsoft Visual C++中)一般的说就是我们常见的stdafx.h。这个名字是微软默认的,名字还可以改(项目设置中也要改),内容更加可以改。这个就是待编译的头文件,但是,我们知道,头文件是不能被编译的,因此,我们就可以用一个stdafx.cpp,这个文件中一开始可以没有内容,但必须加一句“ include “stdafx.h”  ”,然后compile(ctrl+F7)一下就可以出现一个(.pch)文件,这个就是我们常说的预编译头文件。

    为什么需要预编译头文件呢?原因很简单,这个其实这么做的目的就是减少编译时间。因为,如果不是这么做的话,在编译的时候,假如一个头文件被很多的文件使用,那就费时了,因为得一次又一次地进行编译。而有了预编译头文件的话,我们把出现频率很高的那部分东西(通常是一些系统的头文件或者是一些自己设定的但是不常变动的头文件)已经编译好了,就像一个通用零件一样,已经搞好了,用到的时候就直接装就行。这样就可以利用编译好的成果,从而能非常有效地节约编译的时间了。

    如何在具体项目中使用预编译头文件,总结:

     创建stdafx.h和stdafx.cpp文件。在文件属性  c/c++---->预编译头  中选择 创建(/Yc)。在其他需要使用预编译头的cpp文件中的最开始部分(除注释外的第一行代码)加入“ include “stdafx.h”  ”,并且在文件属性  c/c++---->预编译头  中选择 使用(/Yu)。一个项目只能有一个cpp文件是"/Yc",其他的cpp文件应该为“/Yu”,或者“不使用预编译头”。为了快速的设置项目,可以在项目属性中设置"/Yu",然后单独设置“/Yc”的以及“不使用预编译头”的cpp文件。

    什么情况下使用预编译头文件,总结:

    1)一些大型程序用这个比较好,但是一些小型的不点型的程序还是不要用预编译头文件的好,因为Create一个预编译头文件本身也是要时间的。

    2)预编译头文件中一般只放系统头文件。比如说你使用MFC,很多的头文件就必须要来回地用,这时弄个预编译头文件,来成倍地节约编译时间。

    3)自己编的一些很常用的基本固定不变的头文件。

 

     各个编译器不同,有的支持预编译头文件,有的不支持,支持预编译头文件的,使用的语法也有所不同,如果在每个源文件中都重复的写未免不爽,还是集中到一个头文件中来比较好。但是注意,有了此文件并不决定或限制你使用还是不使用预编译头文件,用不用需要你在项目设置中进行设置。

官方给出的预编译头模板:

//
// file name: hworld.cpp
//
//   purpose: wxWidgets "Hello world"
//

// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"

#ifdef __BORLANDC__
    #pragma hdrstop
#endif

#ifndef WX_PRECOMP
    #include "wx/wx.h"
#endif

 

原创粉丝点击