#if _MSC_VER > 1000 #pragma once #endif

来源:百度文库 编辑:神马文学网 时间:2024/06/08 00:11:28

#if _MSC_VER > 1000

#pragma once

#endif

解释:

这是微软的预编译控制。
在_MSC_VER较小时,它对一些东西的支持与新版不同


_MSC_VER分解如下:

MS:Microsoft(微软)的简写

C:MSC就是Microsoft出的C编译器。

VER:Version(版本)的简写。

全部加在一起就是:Microsoft的C编译器的版本

#pragma once    

指示这个文件在编译时只被编译器包括一次!一般用到。h中防止文件被重复包括!   
#if _MSC_VER > 1000  

是指如果vc编译器的版本大于1000则这个语句被编译!大概小于1000的版本不支持#pragma once这个语句

 

很多头文件中有

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

_MSC_VER 定义编译器的版本,VC++6.0就是1200  
#if   _MSC_VER   >   1000的意思就是如果编译器版本高于1000(VC++5.0)  #ifndef  
  #define  
  。。。。。。  
  #endif   
  他读到#ifndef之后,如果已经定义过了,就会跳过这一大片,一直到#endif为止。这将增加build时间,因为每次compiler都会打开这个文件,然后搜索全文件一遍   
  而如果碰到了#pragma   once,他就会立刻停止,关闭打开的这个文件。在某种程度上减少了build时间。   
  一般用法  
  #ifndef  
  #define  
  #pragma   once  
  .....  
  #endif   
 #pragma   once     指示这个文件在编译时只被编译器包括一次!一般用到。h中防止文件被重复包括!  
  至于#if   _MSC_VER   >   1000   的意思是指如果vc编译器的版本大于1000则这个语句被编译!大概小于1000的版本不支持#pragma   once这个语句