在函数中打印出调用者的函数名称

Linux -c 中打印调用函数的名称

#include <stdio.h>
#include <string.h>
void func(unsigned char *func_buf)
{
        printf("%s \n",func_buf);
}
void aaaaa()
{
        unsigned char func_buf[50] = {0};
        sprintf(func_buf, "%s", __FUNCTION__);
        func(func_buf);
}
void bbbbb()
{       
        unsigned char func_buf[50] = {0};
        sprintf(func_buf, "%s", __FUNCTION__);
        func(func_buf);
}

int main()
{
        unsigned char func_buf[50] = {0};
        sprintf(func_buf, "%s", __FUNCTION__);
        
        func(func_buf);
        
        aaaaa();

        bbbbb();
        
        return 0;                                                                                    
}

运行结果:

root@ubuntu:/home# ./test
main 
aaaaa 
bbbbb 
root@ubuntu:/home# 

定义一个数组保存函数名字符串。

猜你喜欢

转载自blog.csdn.net/weixin_38184741/article/details/84283641