获取 Objective C 对象的内存地址?
Get memory address of Objective C object?
还有比这更好的获取内存地址的方法吗?
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_t
defined as long
:
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);
还有比这更好的获取内存地址的方法吗?
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_t
defined as long
:
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);