Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以获得指向当前函数的指针?如果是,我该怎么做?
动机:我有一个函数做一些日志记录,并想调用
log(currentfunc, "blabla")
例如,它做了一些输出。
__func__您可以通过作为 C99 一部分的预定义标识符获取当前函数的名称(但不是指向它的指针) 。
__func__
log(__func__, "blabla");
这是参考
我不确定指向函数的指针,但预定义的标识符__func__返回函数的名称。也许这可以帮助...
实际上,我会用log宏替换您的函数,这样您就不必每次都粘贴名称,如下所示:
log
#define log(x) log(__func__,x)
您可以使用__ FILE __和__ LINE __的组合。它将与Microsoft和GCC编译器一起使用。