-
-
[求助]VS2010 优化拷贝副本函数的问题
-
发表于:
2013-4-27 12:01
4372
-
环境: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那份函数。
如图:
当“内联函数扩展”设置为禁止时,这种情况消失。我想知道这原理是什么,为什么编译器要这样做?求大侠解答!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)