gpt4 book ai didi

objective-c - 可以编译 Objective-C 程序以使 int 为 64 位吗?

转载 作者:行者123 更新时间:2023-12-04 18:19:39 26 4
gpt4 key购买 nike

如果我没记错的话,在某些机器上,int是 16 位的,当我们移动到 32 位平台时,int是32位。

现在 Snow Leopard 和 Lion 都是 64 位的,可以在 Xcode 上编译 C 或 Objective-C 程序,以便 int是64位吗? (并且“%d”或“%i”也将采用 64 位整数)。或者是 int出于兼容性原因保留为 32 位?

(如果使用 64 位 int ,它会比 32 位更快,因为 64 位是 native 的吗?)

更新:我刚发现sizeof(NSInteger)如果 Xcode 在 Lion 上的控制台应用程序中打印为 8(与 typedef 一样长),如果在 iOS 5.1.1 上打印,则为 4(typedef as int)。 sizeof(int)在两个平台上都是 4。所以它在某种程度上看起来像,int之前从 16 位移动到 32 位,但现在我们确实希望将其停止在 32 位。

最佳答案

LP64 Apple 采用的数据模型,int 始终是 32 位的。一些编译器可能允许您使用 ILP64 数据模型,如评论 here 中所述.但是,您可能会破坏与预编译库的兼容性。

关于objective-c - 可以编译 Objective-C 程序以使 int 为 64 位吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10928681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com