VC2008编译的函数,每次运行地址都不一样,该怎么处理

VC2008编译的函数,每次运行地址都不一样
以下代码在VC2005下函数地址是固定的0x4110e1
在VC2008下函数地址每次运行都不一样,0x3b10e1、0xfd10e1、0x10c10e1等等
C/C++ code

#include <stdio.h>

void Fun()
{
    printf("Fun Address:0x%0x\n", Fun);
}


int _tmain(int argc, _TCHAR* argv[])
{
    Fun();
    return 0;
}





请问造成VC2005和VC2008不同的原因是什么?怎样获取VC2008的编译函数的固定地址?
谢谢

------解决方案--------------------
/DYNAMICBASE:NO
/FIXED:YES
------解决方案--------------------
直接修改文件,OptionalHeader.DllCharacteristics&=~0x0040
在全局范围禁用动态基地址
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
MoveImages=0
------解决方案--------------------
第二种要重启的