【发布时间】:2020-12-17 08:07:34
【问题描述】:
还有比这更好的获取内存地址的方法吗?
NSLog(@"%p", anObject);
我宁愿得到普通的 long 值。
【问题讨论】:
还有比这更好的获取内存地址的方法吗?
NSLog(@"%p", anObject);
我宁愿得到普通的 long 值。
【问题讨论】:
您也可以将一些Type* 转换为intptr_t,并以十进制表示形式查看此地址:
NSLog(@"%lu", (uintptr_t)anObject);
在C中将指针地址表示为整数存在2个types:intptr_t和uintptr_t。
intptr_t 定义为__darwin_intptr_t。
和__darwin_intptr_tdefined aslong:
typedef long __darwin_intptr_t;
uintptr_t定义为unsigned long:
typedef unsigned long uintptr_t;
I think what 对于uintptr_t,我应该使用%lu,对于intptr_t,我应该使用%li:
NSLog(@"%lu", (uintptr_t)anObject);
NSLog(@"%li", (intptr_t)anObject);
【讨论】: