我想在gdb
中打印1010的十进制值,
但它会打印出我最后给出的结果。
(gdb)
(gdb) p/d 1010
$1 = 1010
(gdb)
最佳答案
GDB 的 p
[rint
] 命令打印您提供的表达式的值,该表达式以被调试程序的源语言解释。在 C 中,您的 1010
是十进制文字,而不是二进制文字,因此您的基本问题是您给 GDB 的输入错误。
标准 C 不支持二进制文字,但 GNU C 支持它们作为扩展。该格式是一个二进制数字字符串,以 0b
或 0B
开头,您可能会认为这类似于十六进制文字的标准格式。 GDB 识别这种形式。
由于 print
的默认数字输出基数是十进制,因此您无需指定输出格式。只需使用命令
p 0b1010
关于c - 如何在 GDB 中将二进制值(1010)打印成十进制值(10)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37953276/