c语言如何把某个函数名转换为字符串
展开全部
根据编译环境,有如下方式:
1
部分编译器中,支持__FUNCTION__或__func__宏。该宏为编译器定义,值为被调用函数的函数名转换成的字符串。如在func()中调用__FUNCTION__,则该宏的值为"func"。
2
如果编译器不支持上述宏名,那么需要手动添加宏。可以有如下两种方式:
a.
直接定义对应字符串,如
#define
FUNC_NAME
"func"
字符串中的直接写明。
b.
统一函数转换。利用宏定义的#操作,可以实现标识符向字符串的转换。
#define
FUNC_NAME(x)
#x
这时调用FUNC_NAME(func)就等效于"func"。
1
部分编译器中,支持__FUNCTION__或__func__宏。该宏为编译器定义,值为被调用函数的函数名转换成的字符串。如在func()中调用__FUNCTION__,则该宏的值为"func"。
2
如果编译器不支持上述宏名,那么需要手动添加宏。可以有如下两种方式:
a.
直接定义对应字符串,如
#define
FUNC_NAME
"func"
字符串中的直接写明。
b.
统一函数转换。利用宏定义的#操作,可以实现标识符向字符串的转换。
#define
FUNC_NAME(x)
#x
这时调用FUNC_NAME(func)就等效于"func"。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询