首页
社区
课程
招聘
[求助]VS2010 优化拷贝副本函数的问题
发表于: 2013-4-27 12:01 4378

[求助]VS2010 优化拷贝副本函数的问题

2013-4-27 12:01
4378
环境:VS2010 console  Release版本
----------------------------
#include <windows.h>
#include <stdio.h>

PVOID pOriginFunAddress=0;

void Func(){
  printf("This is Func!\n");
  getchar();
}
int main(){
  pOriginFunAddress=(PVOID)Func;
  Func();
  getchar();
}


当优化选项卡这样时:

用OD看到内存里面有两份Func()函数。pOriginFunAddress得到的指针是0x401000,main()调用的是0x401020那份函数。
如图:

当“内联函数扩展”设置为禁止时,这种情况消失。我想知道这原理是什么,为什么编译器要这样做?求大侠解答!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 111
活跃值: (113)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
自己顶一个,等待大牛来回答~
2013-4-28 09:21
0
游客
登录 | 注册 方可回帖
返回
//