C语言根据函数名称获取 c语言获取一个数字

c语言函数内部获取调用该函数的函数名?

获取不到,函数名在连接时被替换成函数入口地址,实际运行的程序中通常不存在函数名(PE文件如果有函数导出表则导出表中可能会记录函数名)。变量名同理。

成都创新互联-专业网站定制、快速模板网站建设、高性价比凌云网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式凌云网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖凌云地区。费用合理售后完善,十载实体公司更值得信赖。

C语言 Linux 获取调用者函数名称

可以做到的,参考一下backtrace_symbols的实现以及相关原理,这里面比较复杂,也比较底层,一两句话说不清楚

你要是想通过_FUNCTION_这种方式来搞的话,可以通过如下方式:

#define m_fun(args) fun(__FILE__,__LINE__, args)

进行相应的替换即可

C语言中对函数名取地址

#include stdio.h

void f()

{

}

void main()

{

printf("%u\n", f);

printf("%u\n", f);

printf("%p\n", f);

}

主函数中前两行%u表示输出无符号的十进制,而第三行%p表示输出地址,其结果是一个十六进制的数,你将其转换成十进制,你会发现与前两行结果一样。


本文名称:C语言根据函数名称获取 c语言获取一个数字
网站网址:http://csdahua.cn/article/dojeigp.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流