我在看一些代码时发现了这行代码:#define WINVER 0x0501
,它出现在stdafx.h
文件中。为什么需要定义WINVER
?它对代码有什么影响?能否有人解释一下?
我在看一些代码时发现了这行代码:#define WINVER 0x0501
,它出现在stdafx.h
文件中。为什么需要定义WINVER
?它对代码有什么影响?能否有人解释一下?
WINVER决定了构建应用程序所需的最低平台SDK,这将在编译时确定哪些例程由头文件找到。
您可以使用此选项,在编译时验证您的应用程序是否可在Windows 2000(0x0500)或Windows XP(0x0501)上运行,例如。
有关修改WINVER和_WIN32_WINNT的详细信息,请参阅MSDN页面。
WINVER定义了程序可以运行的最低Windows系统。在MSDN中有更详细的解释。# define WINVER 0x0501的含义是,该程序需要Windows XP或Server 2003才能运行,并且因此可以使用该版本中的Windows功能。
WINVER代表Windows版本。简而言之,如果你正在为特定版本的Windows构建应用程序,则某些API在之前的版本中不可用。
WINVER
宏,您可以显示特定于某个Windows版本的一组函数。例如,如果您将其定义为#define WINVER 0x0502
,则无法使用仅在Windows Vista中可用的TaskDialog。有关更多详细信息,请阅读MSDN中的Using the Windows Headers文章。
WINVER
的做法? - Pressacco