找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 3081|回复: 0

【C】VC编译器与_MSC_VER

[复制链接]

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
发表于 2014-12-12 01:32:40 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
_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里面没有它的原型。
举例:
  1. #if _MSC_VER <= 1200 //VC6没有GetCursorInfo
  2. //CURSORINFO结构体
  3. typedef struct tagCURSORINFO
  4. {
  5.         DWORD        cbSize;
  6.         DWORD        flags;
  7.         HCURSOR        hCursor;
  8.         POINT        ptScreenPos;
  9. }CURSORINFO,*PCURSORINFO,*LPCURSORINFO;

  10. //GetCursorInfo函数
  11. WINUSERAPI BOOL WINAPI GetCursorInfo(PCURSORINFO pci);
  12. #endif
复制代码
很多API比如SwitchToThread等,都是VC6不支持的,但是它的LIB有这个函数的符号,因此只需要声明了原型就可以使用。

本帖被以下淘专辑推荐:

回复

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-3-28 22:38 , Processed in 0.038689 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表