前端之家收集整理的这篇文章主要介绍了
我们怎么知道来电函数的名字?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在C语言中,__FUNCTION__可用于
获取当前
函数的
名称.
但是如果我定义了一个名为a()的
函数,它在b()中被
调用,如下所示:
b()
{
a();
}
现在,在源代码中,有很多像b()一样调用a()的函数,例如c(),d(),e()…
在()内部可以添加一些代码来检测调用a()的函数的名称吗?
进一步:
对不起,误导性的打字错误.我已经纠正了
>我试图找出哪个函数调用a()进行调试.一世
在同样的情况下不知道你怎么做?
>我的代码是在vxWorks下,但我不知道它是否与C99或
别的东西
没有什么你只能在一个.
但是,通过简单的宏观技巧,您可以实现所需的功能,IIUC显示调用者的名称.
void a()
{
/* Your code */
}
void a_special( char const * caller_name )
{
printf( "a was called from %s",caller_name );
a();
}
#define a() a_special( __FUNC__)
void b()
{
a();
}
原文链接:https://www.f2er.com/c/112371.html