39、Objective-C编程:从基础到高级应用

Objective-C编程:从基础到高级应用

1. 64位编程概述

随着时间推移,微处理器寄存器大小从4位增长到32位,如今正处于从32位向64位处理器过渡的阶段。对于Java和Objective - C程序员来说,这一转变带来了新的内存容量和性能提升的潜力。

1.1 变量大小变化

大多数整数类型的大小在32位和64位架构中保持不变,但部分类型有变化,如下表所示:
| 类型 | 32位大小 | 64位大小 |
| — | — | — |
| char | 1字节 | 1字节 |
| short | 2字节 | 2字节 |
| int | 4字节 | 4字节 |
| long | 4字节 | 8字节 |
| NSInteger | 4字节 | 8字节 |
| pointer | 4字节 | 8字节 |
| long long | 8字节 | 8字节 |

long int在32位架构中为32位长,在64位架构中为64位长。NSInteger(和NSUInteger)类型等同于long int。Objective - C的集合类大多使用NSUInteger来计数和定位元素,这使得64位架构中的集合可以包含超过4,294,967,296个元素,而这在32位处理器的地址空间中是无法实现的。

1.2 格式字符串说明符

常见的错误是使用错误的格式字符串说明符来格式化int值。例如, [NSString stringWithFormat:@"%d",(NSInteger)x] 在编译为64位时将无法正常工作,因

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值