gpt4 book ai didi

objective-c - Objective-C 中的标记指针

转载 作者:太空狗 更新时间:2023-10-30 03:14:59 26 4
gpt4 key购买 nike

同时 answering this question我注意到现代 Objective-C 运行时使用标记指针。 article by Mike Ash and its comments请注意,它们用于某些 NSNumberNSDate 实例。

这让我想到了不同平台的完整场景表:

Where does OSX/iOS 32/64-bit Objective-C runtime use tagged pointers?

最佳答案

OS X 和 iOS 都在 64 位代码中使用标记指针对象。目前两者都没有在 32 位代码中使用任何带标记的指针对象,尽管原则上这并非不可能。一组特定的优化类和优化值经常变化。开源 objc4/runtime/objc-internal.h 描述了至少在一个操作系统版本中使用的这组类:

OBJC_TAG_NSAtom            = 0, 
OBJC_TAG_1 = 1,
OBJC_TAG_NSString = 2,
OBJC_TAG_NSNumber = 3,
OBJC_TAG_NSIndexPath = 4,
OBJC_TAG_NSManagedObjectID = 5,
OBJC_TAG_NSDate = 6,
OBJC_TAG_7 = 7

关于objective-c - Objective-C 中的标记指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20362406/

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