gpt4 book ai didi

c - gdb:将 char 数组显示为 big endian shorts

转载 作者:太空狗 更新时间:2023-10-29 15:05:55 25 4
gpt4 key购买 nike

假设我有一个像这样的数组

char foo[] = { 0, 1, 1, 0 };

gdb 中,在 x86 机器上,如果我说

p (short[2])*foo

我明白了

{256, 1}

也就是说,两个字节被解释为小端顺序的 short

有没有方便的方法(例如宏)让 gdb 将字节数组显示为大端短裤(或任何类型)?

最佳答案

使用set endian big .使用 set endian auto 切换回自动字节顺序选择。

(gdb) p (short[2])*foo
$1 = {256, 1}
(gdb) set endian big
The target is assumed to be big endian
(gdb) p (short[2])*foo
$2 = {1, 256}
(gdb) set endian auto
The target endianness is set automatically (currently little endian)
(gdb) p (short[2])*foo
$3 = {256, 1}
(gdb)

关于c - gdb:将 char 数组显示为 big endian shorts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19151993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com