次のような配列があるとしましょう
char foo[] = { 0, 1, 1, 0 };
ではgdb
、x86 マシンで、
p (short[2])*foo
私は得る
{256, 1}
short
つまり、2 バイトがリトル エンディアン順で解釈されます。
gdb
bytearray をビッグエンディアン short (または任意のタイプ) として表示する便利な方法 (マクロなど) はありますか?
次のような配列があるとしましょう
char foo[] = { 0, 1, 1, 0 };
ではgdb
、x86 マシンで、
p (short[2])*foo
私は得る
{256, 1}
short
つまり、2 バイトがリトル エンディアン順で解釈されます。
gdb
bytearray をビッグエンディアン short (または任意のタイプ) として表示する便利な方法 (マクロなど) はありますか?
を使用し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)