原帖由 Kissfox 于 2008-3-2 14:54 发表
在执行到 function,堆栈结构如下(右侧表示前面名称在堆栈中占用的最低字节地址)
Return_Address <--- 4(%ebp)
Old %ebp <--- (%ebp) 这儿占用4个字节
局部变量ret <--- -4(%ebp) 这儿占用4个字节
局部变量buf[9] <--- -13(%ebp) 这实际是buf[0]的地址, buf[]一共占用9个字节
原帖由 hongmy525 于 2008-3-2 18:24 发表
哈哈,分析更详细些了,真好,谢谢:)
我修正了一些笔误,原本人家给的原程序不是这个,我稍稍改了点点,不过无碍于学习里面的东西。
若是程序如下:
#include
void function(void)
{
char ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |