Предположим, у меня есть следующая простая программа на C:
int main() {
int a=5, b= 6, c;
c = a +b;
return 0;
}
Теперь я хотел бы узнать адрес выражения c = a + b, то есть адрес программы где это дополнение выполняется. Есть ли возможность использовать printf? Что-то вдоль линии:
int main() {
int a=5, b= 6, c;
printf("Address of printf instruction in memory: %x", current_address_pointer_or_something)
c = a +b;
return 0;
}
Я знаю, как найти адрес с помощью gdb, а затем info line file.c: line. Тем не менее, я должен знать, могу ли я сделать это непосредственно с printf.