《编写高质量代码:改善Objective-C程序的61个建议》——建议10:在64位环境下尽可能利用标记指针
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第2章,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
建议10:在64位环境下尽可能利用标记指针
在Mac OS X 10.6(雪豹)中开始支持64位,如今最新版本iPhone 5s也开始采用Arm64架构。在64位化的过程中,其中一个比较关键的改进就是,Mac OS 10.7(美洲虎)和iOS 7的64位环境先后引入了标记(Tagged)指针。
下面就简单地来介绍一下标记(Tagged)指针。在介绍标记(Tagged)指针之前有必要介绍一下指针地址对齐概念和64位环境的一些变化。
- 指针地址对齐
在32位环境下,要读取一个32位整数,如果这个32位整数在内存地址为0x00000002-0x00000006(仅作举例,这个地址