1. 程式人生 > >在函式中打印出呼叫者的函式名稱

在函式中打印出呼叫者的函式名稱

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

執行結果:

[email protected]:/home# ./test
main 
aaaaa 
bbbbb 
[email protected]:/home# 

定義一個數組儲存函式名字串。