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(); }