4

是否可以获得指向当前函数的指针?如果是,我该怎么做?

动机:我有一个函数做一些日志记录,并想调用

log(currentfunc, "blabla")

例如,它做了一些输出。

4

3 回答 3

5

__func__您可以通过作为 C99 一部分的预定义标识符获取当前函数的名称(但不是指向它的指针) 。

log(__func__, "blabla");

这是参考

于 2012-09-26T13:21:34.347 回答
2

我不确定指向函数的指针,但预定义的标识符__func__返回函数的名称。也许这可以帮助...

实际上,我会用log宏替换您的函数,这样您就不必每次都粘贴名称,如下所示:

#define log(x) log(__func__,x)
于 2012-09-26T13:21:36.380 回答
0

您可以使用__ FILE ____ LINE __的组合。它将与MicrosoftGCC编译器一起使用。

于 2012-09-26T13:23:17.453 回答