【发布时间】:2010-12-17 18:02:41
【问题描述】:
在 Leopard 上运行时,您可以执行以下操作:
#if __LP64__
#pragma message ("64 bit Leopard issue")
#endif
什么是雪豹和雪豹64
AND(最重要的是)
我自己在哪里可以找到这个答案而不必问?
【问题讨论】:
标签: c++ macos osx-snow-leopard
在 Leopard 上运行时,您可以执行以下操作:
#if __LP64__
#pragma message ("64 bit Leopard issue")
#endif
什么是雪豹和雪豹64
AND(最重要的是)
我自己在哪里可以找到这个答案而不必问?
【问题讨论】:
标签: c++ macos osx-snow-leopard
__LP64__不是“豹64”的缩写。它代表“长和指针是 64 位”。它在 SnowLeopard 上的设置与在 Leopard 上完全相同。
__LP64__ 在 windows 上不会有相同的行为,因为 windows 使用不同的 64 位模型,其中 long 不是 64 位宽。相反,在 64 位窗口中,long 是 32 位宽,long long 和指针是 64 位宽。这通常被称为“llp64”模型。
【讨论】:
__LLP64__。
__LP64__ 是一个 gcc 预处理器宏,无论何时构建 64 位数据模型,无论您构建的 OS X 版本如何,它都是非零的。在为 64 位 Intel 处理器构建时,另一个非零宏是 __x86_64__。您可以在 developer.apple.com 找到有关这些宏和其他宏的更多信息。
您可以为您的 XCode 项目指定一个部署目标,这将指定您的应用程序可以在其上运行的最低允许操作系统版本。您可以在代码中利用此设置有条件地启用/禁用部分代码;请参阅this mailing list post 了解更多信息。
【讨论】: