#pragma hdrstop究竟什么意思 ( 积分: 100 )

H

hotboy

Unregistered / Unconfirmed
GUEST, unregistred user!
最近学C++ builder;
新建一个Application;
自动出现unit1.cpp
unit1.cpp 的开始部分如下:
#include <vcl.h>
#pragma hdrstop
#include &quot;Unit1.h&quot;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;

其中那个#pragma hdrstop就让我很疑问?
网上说“ #pragma hdrstop表示预编译头文件到此为止,后面的头文件不进行预编译。BCB可以预编译头文件以加快链接的速度,但如果所有头文件都进行预编译又可能占太多磁盘空间,所以使用这个选项排除一些头文件。”
对这段话不理解,既然 #pragma hdrstop 后面的头文件不进行预编译,那么 #include &quot;Unit1.h&quot;
岂不是没什么作用,可是要是去掉编译马上出错。
所以不明白#pragma hdrstop究竟什么意思!!请高手指导,很感谢!
 
K

kaida

Unregistered / Unconfirmed
GUEST, unregistred user!
Unit1.h 不进行预编译,不等于不要编译。#pragma hdrstop 之前的头文件经过一次编译后形成一个预编译文件(文件很大,所以很占空间),以后因修改程序需再次编译程序时就不用重新编译,直接使用预编译的文件就行了。而 #pragma hdrstop 之后的头文件每次编译程序时都要重新编译(因此要多花费一些时间)。
 

Similar threads

S
回复
0
查看
741
SUNSTONE的Delphi笔记
S
S
回复
0
查看
686
SUNSTONE的Delphi笔记
S
I
回复
0
查看
1K
import
I
顶部