为什么gdb在64位机器上只显示32位地址?

为什么gdb在64位机器上只显示32位地址?,gdb,64-bit,Gdb,64 Bit,这是我的问题的屏幕截图(请参见命令x/1wt&f) 我想检查变量f的地址。由于我的计算机是64位的,我希望它是一个64长的二进制数。但是,它仅显示32位。有人能解释一下为什么会这样吗?对不起,我弄错了这里不是指地址。您说的x/1wt&f,这表示在变量f的地址处显示一个32位的字,作为二进制。和的意思是地址 如果要查看地址本身,则需要print命令,该命令可以缩短为p,因此p/x&f将变量f的地址打印为十六进制 gdb帮助系统非常好,因此help x和help p将对您可用的标志进行完整描述。该

这是我的问题的屏幕截图(请参见命令x/1wt&f)


我想检查变量f的地址。由于我的计算机是64位的,我希望它是一个64长的二进制数。但是,它仅显示32位。有人能解释一下为什么会这样吗?

对不起,我弄错了这里不是指地址。

您说的
x/1wt&f
,这表示在变量
f
的地址处显示一个32位的字,作为二进制。
的意思是地址

如果要查看地址本身,则需要
print
命令,该命令可以缩短为
p
,因此
p/x&f
将变量
f
的地址打印为十六进制


gdb
帮助系统非常好,因此
help x
help p
将对您可用的标志进行完整描述。

该过程可能是32位的。