1. 程式人生 > >VS中區分Debug和Realease、x86和x64的巨集定義

VS中區分Debug和Realease、x86和x64的巨集定義

1.判斷debug版本和release版本

如果定義了_DEBUG表示debug版本,否則是release版本。

2.判斷x86版本和x64版本

如果定義了_WIN64表示x64版本,否則是x86版本。在Win32配置下,_WIN32有定義,_WIN64無定義,在x86配置下,_WIN32和_WIN64都有定義。

3.判斷是否是Windows系統

WIN32/_WIN32 可以用來判斷是否 Windows 系統。
測試程式碼如下:
#ifdef WIN32 // is windows.
#ifdef _DEBUG // is debug.
#ifdef _WIN64 // is x64
#define CLOCK_BEGIN clock_t clock_beg = clock();
#define CLOCK_END cout << clock() - clock_beg << "ms" << endl; clock_beg = clock();
#else         // is x86
#define CLOCK_BEGIN clock_t clock_beg = clock();
#define CLOCK_END cout << clock() - clock_beg << "ms" << endl; clock_beg = clock();
#endif // _WIN64
#else         // is release.
#ifdef _WIN64 // is x64
#define CLOCK_BEGIN clock_t clock_beg = clock();
#define CLOCK_END cout << clock() - clock_beg << "ms" << endl; clock_beg = clock();
#else         // is x86
#define CLOCK_BEGIN
#define CLOCK_END
#endif // _WIN64
#endif // _DEBUG
#else         // is not windows.
//...
#endif // WIN32