void testfunc3(){
char* funcname[20];
int n = 0 ;
n = backtrace((void**)funcname,20);
char** p_need_free = (char**)backtrace_symbols((void**)funcname,n);
int i = 0;
for(i=0;i<n;i++){
printf("funcname is : %s\n",p_need_free[i]);
}
free(p_need_free);
}
void testfunc2(){
testfunc3();
}
void testfunc1(){
testfunc2();
}
/** in another file **/
int main(){
testfunc1();
return 0;
}
此项目有2个文件,main()需要1个文件,其他函数需要 另一个,后一个文件被编译为动态库。