请教为什么打印的函数地址和VC中调试查看的地址不一致?
extern void (*Registfun)();
void test()
{
return;
}
void useFunctionPointer(int(*fun)(int*,int*))
{
int x = 1;
int y = 2;
int result = -1;
printf("testAdress is %x\n",test);
Registfun = test;
printf("Registfun1 is %x\n",Registfun);
result = fun(&x,&y);
}
这里我打印出来Registfun 和test 的地址都是0x00411082,没有问题,但我调试的时候
查看test的值却是0x00411a30,为什么呢?
[解决办法]
这个正常,属于内存分配,程序安装于内存的不同位置而发生改变。
[解决办法]
调试的情况下 是用调试器来实现对 单步 断点异常的处理。
加载了更多的函数。 当然地址会不一样了。
[解决办法]
都要沉了,我帮你顶!
专接非技术分!
[解决办法]
调试与运行的结果是两码事,因此现在的多线程并行程序基本上不用单步调试了,但不同常用在调试某个顺序结构
[解决办法]
帮你顶下