pragma once 条件编译

本文介绍了微软编译器中的#pragma once预编译指令,用于确保头文件仅被编译一次,防止重复包含。该指令在_MSC_VER大于1000的版本中支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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这个语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值