是否有一个为64位版本定义的简单预处理程序宏?我以为_WIN64可能就是这样,但是即使我构建了32位目标,#ifdef _WIN64 ... #endif中包含的部分也会被编译进去,这会引起问题。今天是星期五,我不能直截了当,但是我敢肯定,我在这里忽略了一些非常简单的事情。甚至可能涉及sizeof

最佳答案

我一直使用_WIN64来检查它是否是64位版本。

N.B. _WIN32也总是由MSVC在64位版本中自动定义的,因此在检查_WIN32之前请先检查_WIN64:

#if defined( _WIN64 )

// Windows 64 bit code here

#elif defined( _WIN32 )

// Windows 32 bit code here

#else

// Non-Windows code here

#endif

09-05 00:37
查看更多