在c ++中调用来自被调用函数的函数名

时间:2013-03-21 07:09:24

标签: c++ visual-c++

无论如何在c ++中从被调用的函数中获取调用函数名而不修改调用函数的代码?

2 个答案:

答案 0 :(得分:-1)

不,没有。编译代码后,所有函数名和变量名都将丢失。

可能存在为调试目的而保留的调试信息,可能包含该信息。但它不是代码本身的一部分,无法通过标准C ++方法访问。

答案 1 :(得分:-1)

不,不是标准的C ++。

虽然大多数编译器都有特殊的私有函数来获取调用堆栈,但是如果你幸运的话,你可以将一个允许你将以前的函数地址类型转换为可调用的形式。但是 if 是可能的,那么如果之前的调用是成员函数,则必须小心,因为成员函数需要this的额外参数。如果您没有对该对象的引用,则无法调用该成员函数。当然,您还必须了解所有其他参数类型和位置。

简而言之,可能可能,但这并不容易,而且很可能是危险的。