gpt4 book ai didi

c++ - 从栈帧中获取函数名

转载 作者:搜寻专家 更新时间:2023-10-31 02:21:48 24 4
gpt4 key购买 nike

假设我有一些功能:

void func1 (){
...
}

void func2(){
...
}

int main(){
func1();

//check called functions

return 0;
}

我想检查调用了哪个函数。这是 func1。我可以为此再制作一个特殊的检查器功能。但是是否有可能获取从堆栈帧调用的函数的名称以及如何获取?

最佳答案

我建议不要直接调用函数,而是使用函数对象:

struct func_base
{
virtual const std::string& get_function_name(void) const = 0;
virtual void execute(void) = 0;
void operator() (void)
{
execute();
}
};

这将允许您检索您执行的函数的名称。

关于c++ - 从栈帧中获取函数名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31008160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com