#if !defined(AFX_DLGLOGIN_H__95B16295_A72E_4D90_8098_8C08AEB75026__INCLUDED_)
#define AFX_DLGLOGIN_H__95B16295_A72E_4D90_8098_8C08AEB75026__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define AFX_DLGLOGIN_H__95B16295_A72E_4D90_8098_8C08AEB75026__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
解决方案 »
- ctabctrl的msctls_updown32有办法让他一直显示么?
- 一个关于CBitMap和CDib类的概念问题
- IP头部校验和的计算
- 如何把程序加入windows启动项?
- VC++6.0 中调试问题,为什么不能DUBUG???
- 这个问题考虑了很长时间,一直不太明白如何解决,听说这里高手不少,来问问。:)
- 请问错误"建立空文档失败“是什么原因,该怎么解决,谢谢!
- 如何修改dll中的符号?(100分!!!)
- 火焰算法!
- 这个问题谁回答了了我给200分,QQ:58624951 ,e-mail:[email protected]
- [GDI]如何擦除DC上次画的内容
- 如何在COM Server中调用COM本身提供的接口功能?
#define AFX_DLGLOGIN ...
这段就是说此文件只允许被加载一次, 与接下来的 #pragma once 意思相同, 只不过, #pragma once 对 _MSC_VER 有要求, 即可大于 1000 才能用这个宏.
_MSC_VER:
Defines the major and minor versions of the compiler. For example, 1300 for Microsoft Visual C++ .NET. 1300 represents version 13 and no point release. This represents the fact that there have been a total of 13 releases of the compiler.
If you type cl /? at the command line, you will see the full version for the compiler you are using.
#define AFX_DLGLOGIN_H__95B16295_A72E_4D90_8098_8C08AEB75026__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
其实就是#if ... #endif的用法
首先先判断有没有定义AFX..这个宏,没有的话,则定义它,然后再判断当前的编译器版本,如果大于1000的话(忘了1000是哪个版本),则使用#pragma once这条指令,这条指令的作用是让编译器只编译一次本文件即上面的两个都是为了防止头文件重复编译的``第一个是判断有没有定义某个宏,第二个是判断编译器的版本,看是否支持#pragma once指令