重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以做到的,参考一下backtrace_symbols的实现以及相关原理,这里面比较复杂,也比较底层,一两句话说不清楚
创新互联建站坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10余年网站建设经验创新互联建站是成都老牌网站营销服务商,为您提供成都网站制作、网站建设、网站设计、HTML5建站、网站制作、成都品牌网站建设、小程序定制开发服务,给众多知名企业提供过好品质的建站服务。
你要是想通过_FUNCTION_这种方式来搞的话,可以通过如下方式:
#define m_fun(args) fun(__FILE__,__LINE__, args)
进行相应的替换即可
获取不到,函数名在连接时被替换成函数入口地址,实际运行的程序中通常不存在函数名(PE文件如果有函数导出表则导出表中可能会记录函数名)。变量名同理。
在函数中需要函数名的地方写上 宏 __func__就可以了
#include stdio.h
const char* func1()
{
return __func__; //这语句类似return (char *)"func1";
}
void func2()
{
printf("call function %s\n", __func__);
}
int
main(void)
{
printf("function name %s\n", func1());
func2();
return(0);
}
运行结果:
function name func1
call function func2