获取不到,函数名在连接时被替换成函数入口地址,实际运行的程序中通常不存在函数名(PE文件如果有函数导出表则导出表中可能会记录函数名)。变量名同理。
成都创新互联-专业网站定制、快速模板网站建设、高性价比凌云网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式凌云网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖凌云地区。费用合理售后完善,十载实体公司更值得信赖。
可以做到的,参考一下backtrace_symbols的实现以及相关原理,这里面比较复杂,也比较底层,一两句话说不清楚
你要是想通过_FUNCTION_这种方式来搞的话,可以通过如下方式:
#define m_fun(args) fun(__FILE__,__LINE__, args)
进行相应的替换即可
#include stdio.h
void f()
{
}
void main()
{
printf("%u\n", f);
printf("%u\n", f);
printf("%p\n", f);
}
主函数中前两行%u表示输出无符号的十进制,而第三行%p表示输出地址,其结果是一个十六进制的数,你将其转换成十进制,你会发现与前两行结果一样。
文章名称:C语言根据函数名称获取 c语言获取一个数字
转载来源:https://www.cdcxhl.com/article18/dojeigp.html
成都网站建设公司_创新互联,为您提供网站建设、App设计、搜索引擎优化、云服务器、品牌网站建设、软件开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联