
[计] 栈溢出;堆叠溢位;堆栈上限溢位
Doing so will cause a stack overflow.
这样做将会导致堆栈溢出。
How does Stack Overflow get this address?
如何堆栈溢出得到这个地址吗?
C + + Infinite Loop causing a stack overflow error?
无限循环造成栈溢出错误呢?
Server encountered a stack overflow during compile.
服务器在编译过程中遇到堆栈溢出。
Stack Overflow is a programming Q \u0026 A site that's free.
Stack Overflow是一个免费的编程Q\u0026A网站。
"Stack Overflow"是计算机科学中的术语,指程序运行时调用堆栈(call stack)的内存空间超出预设容量引发的错误。调用堆栈是存储函数调用信息(如返回地址、局部变量)的数据结构,当递归深度过大或局部变量占用过多内存时,堆栈指针会越过分配边界,导致程序崩溃或安全漏洞。
技术机制
每次函数调用会向堆栈推送一个栈帧(stack frame)。若未设置递归终止条件或局部变量(如大型数组)超出堆栈容量,栈帧持续累积直至突破内存限制。例如,无限递归函数会快速耗尽堆栈空间。
安全风险
攻击者可利用堆栈溢出覆盖返回地址,注入恶意代码。1988年Morris蠕虫病毒就通过此漏洞传播,造成全球约6,000台计算机瘫痪(来源:US-CERT技术报告)。
典型场景
开发者可通过静态代码分析工具(如Valgrind)检测潜在溢出,或改用堆内存(heap)存储大型数据。现代编译器(如GCC)也提供编译选项(如-fstack-protector
)自动插入堆栈保护指令(来源:GNU编译器手册)。
"stack overflow" 主要有以下两层含义:
一、计算机术语(栈溢出) 指程序运行时调用堆栈(stack)超出内存容量的错误,常见于:
二、技术问答网站 指全球知名的程序员问答平台Stack Overflow,特点包括:
补充说明:该词发音为 /stæk ˌəʊvəˈfləʊ/,需注意与“堆(heap)溢出”区分。若需进一步了解技术细节或网站使用,可查阅相关来源。
【别人正在浏览】