Здравствуйте, пффф, Вы писали:
П>Есть ли возможность более или менее легально, без грязных хаков, узнать, откуда вызвали функцию?
Нет. Если надо то передавайте ей явно информацию откуда и в каком контексте была вызвана функция.
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__
Здравствуйте, пффф, Вы писали:
П>Есть ли возможность более или менее легально, без грязных хаков, узнать, откуда вызвали функцию?
stacktrace включен в стандарт C++:
https://en.cppreference.com/w/cpp/utility/basic_stacktrace