内存管理:栈(stack) 和 栈溢出
Posted xiaobaizzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存管理:栈(stack) 和 栈溢出相关的知识,希望对你有一定的参考价值。
程序的虚拟地址空间分为多个区域,栈是其中地址较高的一个区域。
栈可以存放函数参数、局部变量、局部数组等作用范围在函数内部的数据,它的作用就是完成函数的调用。
栈的概念
- 栈溢出(Stack Overflow)
- 对于每个程序来说,栈能使用的内存是有限的,一般是1M - 8M,这在编译时就已经决定了,程序运行期间不能改变。
如果程序使用的栈内存超出最大值,就会发生栈溢出错误。
一个进程可以包含多个线程,每个线程都有自己的栈,严格来说,栈的最大值是针对线程来说的,而不是针对进程。
栈内存的大小和编译器有关,编译器会为栈内存指定一个最大值。
以上是关于内存管理:栈(stack) 和 栈溢出的主要内容,如果未能解决你的问题,请参考以下文章