关于获取函数的地址。
voidfun(){inta=0;}intaddr=(int)fun;我调试后发现addr的值不是fun函数的入口地址,请问下如何才能获取到fun这个函数的地址呢?...
void fun()
{
int a = 0;
}
int addr = (int)fun;
我调试后发现addr的值不是fun函数的入口地址,请问下如何才能获取到fun这个函数的地址呢? 展开
{
int a = 0;
}
int addr = (int)fun;
我调试后发现addr的值不是fun函数的入口地址,请问下如何才能获取到fun这个函数的地址呢? 展开
2个回答
展开全部
严重怀疑你是64位的程序
这样, 函数指针是64bit的地址,但是int依然是32bit,转换时精度问题导致不一样
你数数fun的地址的位数,是不是超过32bit(8byte)
或者long addr=(long)fun
这样, 函数指针是64bit的地址,但是int依然是32bit,转换时精度问题导致不一样
你数数fun的地址的位数,是不是超过32bit(8byte)
或者long addr=(long)fun
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询