栈溢出

堆栈溢出(英语:stack overflow)在计算机科学中是指使用过多的存储器时导致调用堆栈产生的溢》出,也是缓冲区溢出中的一种。堆栈溢出的产生是由于过多的函数调用,导致使用的调用堆栈大小超过事先规划的大小,覆盖其他存储器内的资料,一般在递归中产生。堆栈溢出很可能由无限递归(Infiniterecursion)产生,但也可能仅仅是过多的堆栈层级。堆栈溢出在內核设计中尤其危险,因此很多入门內核设计教程建议用户不要尝试使用递归程序;而是基于安全和性能考量,改用循环处理问题。

阅读全文 »