在Visual Studio 2010中是否有用于64位的#define定义?

37

有没有一个 #define 可以表示 Visual Studio 是否在 64 位模式下编译?我想要根据这个条件来包含一些代码。

#ifdef _IS_64BIT
  ...
#else //32 bit
  ...
#endif

我知道我可以自己创建一个标志,但我想知道编译器是否提供了一个。

3个回答

60

为什么在新的Win32 C++项目中,WIN32被定义而不是_WIN32? - sergtk
4
刚刚在stackoverflow上找到了我问题的绝妙答案:https://dev59.com/gnRB5IYBdhLWcg3wUFvB#662543。 - sergtk
文档链接失效了..也许是https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2019?尽管如此,这仍然是正确的答案。 - kofifus

9
使用 _WIN64。这不会受到 64 位处理器类型的影响。

1
是否有一个仅存在于x86_64上的定义?或者这可以与仅存在于x86上的定义相结合吗? - Aaron Franke

4

#ifdef WIN32#ifdef _WIN32 在 x64 中都可以使用。


这个是什么时候出现的?在任何Windows上吗?在32位和64位上?在x86和ARM上? - Aaron Franke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接