局部变量

使用如下代码声明一个int类型的局部变量。 反汇编结果为:(eax存储返回值) 这里有两个注意的点: Sub esp,byte + 0x10        首先堆栈使用时的地址是逐渐递减的,使用esp 减去0x10,即减去16字节,是因为编译器处理堆栈时进行了优化,减少低效的处理大量的内存边界(?)和数据类型倍数不一致(对齐?)的情况。通过浪费一些内存,为每一个栈元素分配最大数据类型宽度(比如16
相关文章
相关标签/搜索