Как говорит @Star Brilliant, это:
ptype my_var
возвращает такие вещи, как type = unsigned short
, но я хочу, чтобы вместо этого он возвращал type = uint16_t
, чтобы я мог действительно знать, сколько байтов это при проверке памяти. Лучшее, что я могу понять, чтобы получить этот эффект, это сделать:
print &my_var
который печатает (uint16_t *) 0x7ffffffefc2c
, тем самым показывая, что его тип указателя — uint16_t*
, что означает, что его тип — uint16_t
.
Я считаю, что это более полезно, чем ptype my_var
, но желателен более прямой способ получить этот эффект, если у вас есть какие-либо предложения.
Примеры команд gdb и вывод:
(gdb) ptype my_var
type = unsigned short
(gdb) print &my_var
$27 = (uint16_t *) 0x7ffffffefc2c
Опять же, примечание ptype my_var
показывает, что это unsigned short
, тогда как print &my_var
показывает более подробный и желаемый ответ, который заключается в том, что это uint16_t
.
person
Gabriel Staples
schedule
13.08.2020
typeid
. - person trojanfoe   schedule 05.03.2012whatis
вам в помощь. - person Hi-Angel   schedule 26.10.2016