是否存在任何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