zoukankan      html  css  js  c++  java
  • 从c语言函数调用看程序的栈机制

      

    预备知识:

    ①栈:计算机系统中是指一块采用栈式管理的内存区域,栈的增长方向是从高地址空间向低地址空间增长

    ②汇编指令call:将返回地址入栈,并跳转到被调用过程的起始处

    ③汇编指令ret:从栈中弹出返回地址,并跳转到这个位置

      IA32(x86)通过程序栈来支持过程调用。机器用栈来传递过程参数(函数参数)、存储返回信息、保存寄存器。为单个过程分配的那部分栈称为栈帧。下图描绘了栈帧的通用结构。栈帧的最顶端以两个指针界定,寄存器%ebp为帧指针,%esp为栈指针。%ebp指向栈帧的开始处,%esp指向栈顶元素。

  • 相关阅读:
    Circular vector
    【杂题】进制转换
    【POJ】3006
    【POJ】1503
    【POJ】2262
    【POJ】1083
    【POJ】2739
    对拍
    【POJ】2159
    【POJ】3299
  • 原文地址:https://www.cnblogs.com/yangcs/p/5218805.html
Copyright © 2011-2022 走看看