1. 程式人生 > >[C]通過函式指標得到函式名

[C]通過函式指標得到函式名

 出處:http://stackoverflow.com/questions/351134/how-to-get-functions-name-from-functions-pointer-in-c
可以使用 backtrace(), backtrace_symbol(),根據函式指標,回溯得到函式名。
例如:
//t.c
#include<stdio.h>
#include<execinfo.h>

void foo(void)
{
    printf("foo\n");
}

int main()
{
    void *funptr=&foo;
    backtrace_symbols_fd(&funptr,1,1);
    return 0;
}
gcc t.c -o t -rdynamic

./t(foo+0x0)[0x400778]