Xcode";采购订单/打印“;uint32_t变量的值打印出64位值

Xcode";采购订单/打印“;uint32_t变量的值打印出64位值,xcode,lldb,Xcode,Lldb,鉴于以下情况: typedef unsigned int uint32_t; typedef uint32_t UIAccessibilityNotifications; UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityPageScrolledNotification; 在xcode lldb中 (lldb) print UIAccessibilityPageScrolledNotification (void *) $7 =

鉴于以下情况:

typedef unsigned int uint32_t;
typedef uint32_t UIAccessibilityNotifications;
UIKIT_EXTERN UIAccessibilityNotifications UIAccessibilityPageScrolledNotification;
在xcode lldb中

(lldb) print UIAccessibilityPageScrolledNotification
(void *) $7 = 0x00000409000003f1
哪个是64位的值?!它的类型是作为指针给出的,所以我猜他们将指针作为值赋给了32位类型化变量。。。但任务完成后如何保存

例如,如果我现在这样做

UIAccessibilityNotifications temp = UIAccessibilityPageScrolledNotification;
那么

(lldb) print temp
(UIAccessibilityNotifications) $8 = 1009
这是==0x3f1,如预期的那样;所以我只保留赋值后64位值的32位部分。temp和UIAccessibilityPageScrolledNotification都具有相同的类型声明


那么,为什么我在打印32位变量时得到64位的值呢

在Xcode 7.3中,我无法使用一个简单的程序来重现这个过程(对iPhone单视图模板没有任何更改;只需在
didFinishLauchingWithOptions:
的末尾放置一个断点并检查调试器)。你到底是如何生成它的;我在一个叫arm64的设备上调试这个。。我也在使用xcode 7.3