这段代码:
int main()
{
char buffer[64];
int check;
...
Run Code Online (Sandbox Code Playgroud)
如你所见,check声明为AFTER buffer,所以在堆栈中,我们必须在堆栈中有check ABOVE buffer吗?
但是,当我用gdb反汇编(x86)时,这就是我得到的:
- > check在0xbffff4f8
- > buffer在0xbffff4b8
我的问题:堆栈中是否存在局部变量的特定顺序?
另外,我必须告诉你,我在另一台计算机上尝试了同样的事情(x86也是,gcc编译选项相同,但gdb版本和linux发行版不同),顺序不一样......:S
谢谢 !
我有这个:
TEST ECX, 3
Run Code Online (Sandbox Code Playgroud)
ECX包含包含该字符的地址内存'a'.
但是,经过测试,ZF设置为1!这怎么可能?