摘要:
栈结构(参数入栈顺序跟调用方式有关,这里以C语言默认的CDECL为例(参数由右向左进入堆栈)):| ....................| (栈底方向,高位地址)| 参数3 || 参数2 || 参数1 || 返回地址 |-| 上一层[EBP] || 局部变量2 || 局部变量1 | |.....................| (栈顶方向,低位地址)栈一直随着函数调用的深入,一直想栈顶方向压下去。每次调用函数时候,先压函数参数(从右往左顺序压),再压入函数调用下条指令的地址(由call完成)。接着进入调用函数体中先执行 pushq%rbp;movq%rsp, %rbp(一般已经由编... 阅读全文
posted @ 2011-09-29 20:22 光铭 阅读(432) 评论(0) 推荐(0) 编辑