对于程序的不同运行,全局变量的地址是否相同?

Tar*_*aut 5 c++ virtual-memory

考虑以下代码片段

int i=10;
int main()
{
    cout<<&i;
}
Run Code Online (Sandbox Code Playgroud)

一旦为程序生成了 exe,程序不同运行的输出是否相同?假设操作系统支持虚拟内存

编辑:问题特定于存储在数据段中的全局变量。由于这是第一个全局变量,地址应该相同还是不同?

Dan*_*bos 3

如果禁用ASLR,您始终会获得相同的地址。如果启用 ASLR,您将获得不可预测的地址。