【发布时间】:2014-12-28 03:31:53
【问题描述】:
我使用 Visual C++ 2010 将以下 C++ 代码转换为程序集:
int main()
{
int i;
i = 1234;
return 0;
}
我收到以下输出:
根据我对内存寻址的理解,内存地址的计算总是放在方括号内,那么为什么_i$在这种情况下放在方括号外呢?
【问题讨论】:
-
因为语法允许吗?
-
可能是因为它与堆栈帧有关?
i是局部的,一个局部变量地址是和栈帧相关的,你看到的是相对地址计算。全局变量地址是固定的。
标签: c++ visual-studio-2010 assembly visual-c++ addressing-mode