OS X上的__LP64__ - > Snow Leopard相当于?

JT.*_*JT. 8 c++ macos osx-snow-leopard

在Leopard上运行时,您可以执行以下操作:

#if __LP64__
   #pragma message ("64 bit Leopard issue")
#endif
Run Code Online (Sandbox Code Playgroud)

什么是雪豹和雪豹64

和(最重要的)

我自己哪里可以找到这个答案而不必问?

Ste*_*non 12

__LP64__不是"Leopard 64"的缩写.它代表"longs和指针是64位".它在SnowLeopard上的设置与Leopard完全相同.

__LP64__在Windows上不会有相同的行为,因为Windows使用不同的64位模型,其中long不是64位宽.相反,在64位窗口中,long为32位宽,long long和指针为64位宽.这通常被称为"llp64"模型.


fbr*_*eto 7

__LP64__是一个gcc预处理器宏,无论您构建的OS X版本是什么,无论何时构建64位数据模型都是非零的.另一个非零的宏是__x86_64__在为64位英特尔处理器构建时.您可以在developer.apple.com上找到有关这些宏和其他宏的更多信息.

您可以为XCode项目指定部署目标,该目标将指定应用程序可以运行的最低允许操作系统版本.您可以在代码中利用此设置来有条件地启用/禁用其中的部分内容; 有关详细信息,请参阅此邮件列表帖子.