是否有任何预定义的宏来标识调用函数。
打印我们使用的当前函数名
printf("%s", __FUNCTION__);
比如如果函数 a
调用 b
并且控制权在 b
中,那么有没有办法找出 a
?
最佳答案
没有。为此,预处理器必须知道哪些函数调用了您的函数。但是,当时无法获得此信息。对于(动态或静态)库,此信息实际上在编译时永远不会完全可用。
编辑:如@stefaanv 的评论所述,您必须使用运行时方式,例如他在运行时链接的 StackWalker 库。这是您知道哪个函数调用了您的函数的唯一一点。
关于c++ - 预定义的宏来识别调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22503589/