C++ _Visual C+中的32和64等价物+;

C++ _Visual C+中的32和64等价物+;,c++,c,visual-c++,C++,C,Visual C++,我想在Visual C中定义32(32位编译)和64(64位编译)。是否有任何预定义的宏?我在MSDN上搜了一遍也没找到 你认为这种对32和64的定义行得通吗 #define _32_ if !(defined __LP64__ || defined __LLP64__) || defined _WIN32 && !defined _WIN64 // we are compiling for a 32-bit system the else statement w

我想在Visual C中定义32(32位编译)和64(64位编译)。是否有任何预定义的宏?我在MSDN上搜了一遍也没找到

你认为这种对32和64的定义行得通吗

#define _32_ if !(defined __LP64__ || defined __LLP64__) || defined _WIN32 && !defined _WIN64
        // we are compiling for a 32-bit system
the else statement will be _64_ definition
        // we are compiling for a 64-bit system
谢谢

来自:

\u M_IX86:为x86处理器定义。。。这不是为x64处理器定义的

\u M_X64:为X64处理器定义

\u M_IA64:为安腾处理器系列64位处理器定义

\u WIN32:为WIN32和WIN32 64的应用程序定义。始终定义

\u WIN64:为WIN64的应用程序定义

您可以选择。

来自:

\u M_IX86:为x86处理器定义。。。这不是为x64处理器定义的

\u M_X64:为X64处理器定义

\u M_IA64:为安腾处理器系列64位处理器定义

\u WIN32:为WIN32和WIN32 64的应用程序定义。始终定义

\u WIN64:为WIN64的应用程序定义


您可以选择。

您可能会在尝试枚举所有可能的处理器体系结构并了解其int大小时陷入困境,但我建议使用,这是在任何处理器上构建64位可执行文件时定义的,而在构建32位时未定义


VisualC++支持了它很长的距离——甚至Visual C++ 2003。

< P>你可能会陷入困境,试图枚举所有可能的处理器体系结构,了解它们的int大小,但我建议使用它是在任何处理器上构建64位可执行文件时定义的,而不是在构建32位时定义的


Visual C++支持它很长——甚至是Visual C++ 2003。< /P> < p>如果你检查它是“代码”>“Myx64”/代码>是为64位处理器定义的。

< p>如果你检查它是说“代码> < Myx64 < /C> >是为64位处理器定义的。

总是有一个Win 64预处理器宏。Raymond Chen很好地介绍了这个主题:

总是有_WIN64预处理器宏。Raymond Chen很好地介绍了这个主题:

@sblom:好问题——VC++2012显然支持ARM(对于ARM Win8平板电脑必须支持),但我没有看到任何宏。@sblom:好问题——VC++2012显然支持ARM(对于ARM Win8平板电脑必须支持),但我没有看到任何宏。