为了账号安全,请及时绑定邮箱和手机立即绑定

C中如何定义宏实现 通过函数 获取到函数名

C中如何定义宏实现 通过函数 获取到函数名

慕哥6287543 2019-05-25 16:59:09
如何定义一个宏实现获取函数名字符串,如下://某一函数voidfun0(){....}//宏定义#defineGET_NAME(fun).......//这个怎么写//获取name=="fun0"char*name=GET_NAME(fun0)
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

参考这里Concatenation
#include
//宏定义
#defineGET_NAME(x)#x
voidfun0(){;}
intmain(){
//获取name=="fun0"
printf("%s",GET_NAME(fun0));//输出fun0
return0;
}
                            
查看完整回答
反对 回复 2019-05-25
?
米脂

TA贡献1836条经验 获得超3个赞

#include
#include
//在宏定义中,使用#将参数转为字符串,使用##来连接两个参数作为一个整体标识符。
#defineSTRING(x)#x
#defineCOMBINE(x,y)x##y
intmain(intargc,char**argv)
{
intx1=1;
intx2=2;
//STRING(x1)将变成"x1"
//COMBINE(x,1)将变成x1
printf(STRING(x1)"=%d\n",COMBINE(x,1));
printf(STRING(x2)"=%d\n",COMBINE(x,2));
return0;
}
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 2012 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号