computer-science - 堆栈在微处理器中的作用是什么?

标签 computer-science microprocessors

堆栈在微处理器中的作用是什么?

最佳答案

堆栈主要在函数调用期间使用,但根据语言和编程级别,它可用于临时存储处理器寄存器数据或其他变量。

此外,当使用递归函数将部分数据存储在堆栈中并再次调用自己时,堆栈也可以用于短期大规模存储数据。

generic use of stack是为了,

  • 退货地址
  • 返回值
  • 被调用函数的参数
  • 被调用函数中的局部变量
  • 将在被调用函数中重用的处理器寄存器

  • 而且,是的,堆栈也用于漏洞利用。
    它的性质是携带返回地址到被调用函数返回的地方,
    加上 C 中数组边界检查的弱点语言,给人一种很
    引发的好方法 buffer overflows在一个易受攻击的(不安全编写的)程序的堆栈中。

    关于computer-science - 堆栈在微处理器中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1114047/

    相关文章:

    c - 是否可以将整个数组保存在 cpu 寄存器中

    multithreading - 芯片多处理和对称多处理之间的区别?

    c - XMEGA 设置 SPI 并从 LSM330 器件读取 WHO_AM_I_A 寄存器

    linux - 从计算机体系结构的角度来看,应用程序是如何执行的

    x86 - 我们是否也将寄存器 RAX、RBX 等称为 R1、R2 等?

    computer-science - 除下溢

    computer-science - 图灵机可以越过磁带的开头吗?

    windows - 登录历史记录和操作系统安装日期

    time-complexity - 解决 : T(n) = T(n/2) + n/2 + 1

    python - Polyfill算法中如何处理水平方向?