-
-
[求助]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直播授课