为什么visualstudio每次运行程序时都会向我显示指针的新值



我在VS和CodeBlocks中都检查了这一点。CodeBlocks一遍又一遍地向我显示相同的地址,但在VS中,每次运行程序时地址都会更改。

int main()
{
int x, * p;
x = 5;
p = &x;
cout<<"the address of "<< *p <<" is : " << p << endl;
}

胡乱猜测:一个是启用地址布局随机化,另一个不是。在两者中的生成选项中都检查启用和禁用它的选项。对于Microsoft的编译器,这似乎是/DYNAMICBASE。假设它已启用并禁用,您可能会看到一致的结果。

最新更新