- UID
- 1
- 精华
- 积分
- 76365
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
_MSC_VER是用来判断VS编译器版本的宏。
对应情况如下:
MS VC++ 12.0 _MSC_VER = 1800 (Visual C++ 2013)
MS VC++ 11.0 _MSC_VER = 1700 (Visual C++ 2012)
MS VC++ 10.0 _MSC_VER = 1600 (Visual C++ 2010)
MS VC++ 9.0 _MSC_VER = 1500
MS VC++ 8.0 _MSC_VER = 1400
MS VC++ 7.1 _MSC_VER = 1310
MS VC++ 7.0 _MSC_VER = 1300
MS VC++ 6.0 _MSC_VER = 1200
MS VC++ 5.0 _MSC_VER = 1100
注意不是十六进制而是十进制。
典型的应用是在低版本的VC上调用高版本VC才有的API时,可以自己声明,因为库,LIB,可能有这个函数的符号,但是头文件H里面没有它的原型。
举例:- #if _MSC_VER <= 1200 //VC6没有GetCursorInfo
- //CURSORINFO结构体
- typedef struct tagCURSORINFO
- {
- DWORD cbSize;
- DWORD flags;
- HCURSOR hCursor;
- POINT ptScreenPos;
- }CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
- //GetCursorInfo函数
- WINUSERAPI BOOL WINAPI GetCursorInfo(PCURSORINFO pci);
- #endif
复制代码 很多API比如SwitchToThread等,都是VC6不支持的,但是它的LIB有这个函数的符号,因此只需要声明了原型就可以使用。 |
|