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

时间:2015-10-27 02:38:33

标签: gdb 64-bit

这是我的问题的截图(参见命令x / 1wt& f) enter image description here

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

2 个答案:

答案 0 :(得分:1)

你说x/1wt &f,这说明,在变量f的地址处显示一个32位字,二进制。 &表示地址。

如果您想查看地址本身,那么您需要print命令,该命令可以缩短为p,因此p/x &f将打印变量{{1}的地址作为十六进制。

f帮助系统相当不错,因此gdbhelp x会详细说明您可以使用的标记。

答案 1 :(得分:0)

抱歉,我犯了一个错误。 &安培;并不代表这里的地址。