__LP64__ 在 Windows 上?

JT.*_*JT. 2 c++ windows predefined-variables

我知道 Windows 使用 LLP 而不是 LP 数据模型,但是是否有预定义的变量或其他什么?在 OS X/Linux 上,您可以使用__LP64__.

mrk*_*rkj 5

一种检查方法是使用_WIN64,它仅在 64 位 Windows 上定义(请参阅此处此处)。例如:

#if defined(__LP64__)
// LP64 machine, OS X or Linux
#elif defined(_WIN64)
// LLP64 machine, Windows
#else
// 32-bit machine, Windows or Linux or OS X
#endif
Run Code Online (Sandbox Code Playgroud)