以下内容摘自:[url]http://stackoverflow.com/questions/1505582/determining-32-vs-64-bit-in-c[/url]
MSDN有关预定义变量的页面:[url]http://msdn.microsoft.com/en-us/library/b0084kay.aspx[/url]
[table]
|_WIN32|Defined for applications for Win32 and Win64. Always defined.|
|_WIN64|Defined for applications for Win64.|
[/table]
还有什么_M_AMD64之类关于CPU架构的宏定义请参考MSDN。
// Check windows
#if _WIN32 || _WIN64
#if _WIN64
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif
// Check GCC
#if __GNUC__
#if __x86_64__ || __ppc64__
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endifMSDN有关预定义变量的页面:[url]http://msdn.microsoft.com/en-us/library/b0084kay.aspx[/url]
[table]
|_WIN32|Defined for applications for Win32 and Win64. Always defined.|
|_WIN64|Defined for applications for Win64.|
[/table]
还有什么_M_AMD64之类关于CPU架构的宏定义请参考MSDN。
本文提供了一种使用预处理宏来确定C语言程序运行于32位还是64位环境的方法。通过检查_WIN32、_WIN64等宏,可以有效地判断目标平台。同时,文中还提供了GCC编译器下的判定方式。
3433

被折叠的 条评论
为什么被折叠?



