Re: Узнать адрес, откуда вызвали
От: kov_serg Россия  
Дата: 21.06.23 13:06
Оценка:
Здравствуйте, пффф, Вы писали:

П>Есть ли возможность более или менее легально, без грязных хаков, узнать, откуда вызвали функцию?

Нет. Если надо то передавайте ей явно информацию откуда и в каком контексте была вызвана функция.
void copy_file(Contex &ctx,int i) {
    FunctionIntent intent(ctx,"describe intent: copy file");
    // body
}
void copy_files(Contex &ctx,...) {
    FunctionIntent intent(ctx,"describe intent: copy files");
    for(int i=0;i<10;i++) {
        copy_file(ctx,i);
    }
}

Можно всякие макросы нагородить с __LINE__ __FILE__ __FUNCTION__
Отредактировано 21.06.2023 13:07 kov_serg . Предыдущая версия .
Re: Узнать адрес, откуда вызвали
От: Zhendos  
Дата: 21.06.23 19:41
Оценка: +1
Здравствуйте, пффф, Вы писали:


П>Есть ли возможность более или менее легально, без грязных хаков, узнать, откуда вызвали функцию?


stacktrace включен в стандарт C++: https://en.cppreference.com/w/cpp/utility/basic_stacktrace
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.