64位系统编译宏有点乱,整理如下:
1,windows平台
_WIN32 64位和32位编译模式下均支持
_WIN64 64位编译模式下支持
_M_X64 X64的cpu支持的64位
_M_IA64 IA64的cpu支持的64位
_M_IX86 X86的cpu支持,仅32位
_M_AMD64 X64 only
2,linux平台
__GNUC__ 64位和32位都支持
__amd64__ X64的cpu支持的64位
__amd64 X64的cpu支持的64位
__x86_64__ X64的cpu支持的64位
__x86_64 X64的cpu支持的64位