是否存在任何C++编译时宏,它们用于检测正在编译代码的Windows操作系统。我基本上只想在Win7上支持某些功能。所以我有兴趣做这样的事情C++编译时宏检测windows操作系统
#if <os_macro> = WIN7
// This function would do something valid only on Win7 builds.
bool myfunction {
// do something here
}
#else
// This function would typically return false, since its not supported on OS below win7
bool myfunction {
return false;
}
#endif
有没有其他更好的方法来做到这一点?
如何是操作系统它在助人编译?它不需要知道它运行在哪个操作系统上? – 2012-04-11 18:49:17
在Visual Studio中,您可以使用'#ifdef WIN32'或'#ifdef _WINDOWS'作为跨平台。如果你只是想要Windows版本,你通常自己定义'WINVER'。对于Windows 7'#define WINVER 0x0601' – AJG85 2012-04-11 18:56:05