Я пытался привести к void*
и использовать %p
. Я также пробовал intptr_t
с форматом %lx
. Оба раза я получаю ошибку «Invalid Cast».
Я использую -Wall -Werror
, который проверяет, что аргументы printf()
соответствуют строке формата функции. Поэтому я не могу просто рассчитывать, что get_id()
оставит 4- или 8-байтовое значение в стеке и просто напечатает это значение как шестнадцатеричное.
Я использую g cc версия 9.2.1 20190827 (Red Hat 9.2.1-1) (G CC)
Операционная система - Fedora, выпуск 31 (Тридцать один). Процессор 64-битный Intel x86.