首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请问为什么打印的函数地址和VC中调试查看的地址不一致

2012-05-28 
请教为什么打印的函数地址和VC中调试查看的地址不一致?extern void (*Registfun)()void test(){return}v

请教为什么打印的函数地址和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,为什么呢?

[解决办法]
这个正常,属于内存分配,程序安装于内存的不同位置而发生改变。
[解决办法]
调试的情况下 是用调试器来实现对 单步 断点异常的处理。
加载了更多的函数。 当然地址会不一样了。
[解决办法]
都要沉了,我帮你顶!
专接非技术分!
[解决办法]
调试与运行的结果是两码事,因此现在的多线程并行程序基本上不用单步调试了,但不同常用在调试某个顺序结构
[解决办法]
帮你顶下

热点排行