windows程序堆栈分布

参数、返回地址、局部变量和ebp的关系

Debug版本:

0x004000D0  Local_3         ebp-20    <-- 局部变量3
                         0xCCCCCCCC
                         0xCCCCCCCC
0x004000DC  Local_2         ebp-14    <-- 局部变量2
                         0xCCCCCCCC
                         0xCCCCCCCC
0x004000E8   Local_1         ebp-8     <-- 局部变量1
                         0xCCCCCCCC
0x004000F0   EBP_Old        ebp        <-- 旧ebp值
0x004000F4   Retn_Addr     ebp+4   <-- 返回地址
0x004000F8   Parem_1       ebp+8    <-- 参数1
0x004000FC   Param_2       ebp+C    <-- 参数2
0x00400100   Param_3       ebp+10  <-- 参数3

Release版本:

0x004000E4  Local_3        ebp-c     <-- 局部变量3
0x004000E8  Local_2        ebp-8     <-- 局部变量2
0x004000EC  Local_1        ebp-4     <-- 局部变量1
0x004000F0  EBP_Old       ebp        <-- 旧ebp值
0x004000F4  Retn_Addr   ebp+4    <-- 返回地址
0x004000F8  Parem_1      ebp+8    <-- 参数1
0x004000FC  Param_2      ebp+C    <-- 参数2
0x00400100  Param_3      ebp+10  <-- 参数3

堆栈由高地址到低地址增长

 

posted on 2015-03-03 19:44  一直向前的射手2  阅读(239)  评论(0编辑  收藏  举报

导航