#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)
#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这个语句
#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这个语句