Windows SDK Tips: stdafx.h: 关于_WIN32_WINNT
来源:互联网 发布:js继承是什么 编辑:程序博客网 时间:2024/05/16 07:41
遇到的问题
最近在调试一个老程序,发现这个程序居然无法在Visual Studio 2012中调试运行,每次调试运行的时候就闪退了。根据编译中的提示查资料,最后解决的办法如下:
在stdafx.h中,原先的 _WIN32_WINNT 定义的值是 0x0400,改为0x0403就好了。
官方解释
MSDN有一篇文章解释了 _WIN32_WINNT 以及 WINVER 的用法:
Using the Windows Headers
根据这篇文章的解释,_WIN32_WINNT 是用来申明,此程序面向哪个版本的Windows编程。如果你想要使用高版本的Windows API,那么这个值就要定义得大一些,反之如果要兼容更早期的版本,这个值就要定义得低一些。
之前那个老程序的值定义得也太低了点吧,0x0400,版本比Windows 98还早呢。Windows 98的值是0x0403,0x0400对应的应该是Windows NT 4.0。
Windows XP对应的值是0x0501,比这个版本更早的值在MSDN上现在已经不列出来了,我在一篇博客中看到:
还有关于 _WIN32_IE 的早期版本的值:
Windows XP和IE6以上的版本请查看MSDN里的那篇文章。
参考
修改 WINVER 和 _WIN32_WINNT
0 0
- Windows SDK Tips: stdafx.h: 关于_WIN32_WINNT
- 关于stdafx.h
- 关于 stdafx.h
- 关于stdafx.h
- 关于stdafx.h
- 关于stdafx.h
- 关于stdafx.h
- 关于stdafx.h
- 关于#include "stdafx.h"
- 关于StdAfx.h
- 关于#include "stdafx.h"
- 关于#include "stdafx.h"
- 关于#include "stdafx.h
- 关于 #include "stdafx.h"
- 关于stdafx.h
- 关于#include "stdafx.h
- 关于VC中的"stdafx.h"
- 关于VC中的"stdafx.h"
- 年终大学习之软件生命周期
- Unity之一天一个技术点(七)---到包围盒的最近点
- Selenium webdirver操作浏览器
- A Different Task
- 我经历过的失败产品和项目(九):综述
- Windows SDK Tips: stdafx.h: 关于_WIN32_WINNT
- centos 安装erlang和rabbitmq
- 区间段问题
- 65个源代码网站
- 优化Myeclipse启动速度
- Unity之一天一个技术点(八)---旋转问题
- Unity之一天一个技术点(九)---EasyTouch 旋转镜头
- spring mvc+ibatis+mysql的组合框架入门实例demo源码下载
- 查看ADT版本,安装、卸载、更新eclipse中的ADT