stack overflow at line:0 是怎么回事啊?

来源:百度知道 编辑:UC知道 时间:2024/07/13 20:00:19
我的博客在刷新时总是显示stack overflow at line:0这个窗口,需要反复点击2次,并且伴有该页上的IE运行速度减慢。如果继续运行,您的计算机将变的更慢。是否取消该脚本?的穿口和字样。并且在刷新后,我的博客页面显示不正常,字体大的夸张,有部分功能丧失。我该如何解决?
希望能说一下解决方案,bestery朋友很谢谢你说了这么多~但是还是不知道该怎么解决!希望能给个解决的办法!

0行栈溢出

顾名思义,stack overflow 就是是栈溢出了。在进行数值运算时,我们常常要和运算结果的溢出打交道。数值运算结果可能上溢(overflow),也可能是下溢(underflow)。不过栈的溢出显然只可能是上溢,即栈空间被用完了。在提起“栈”(stack)这个概念的时候,千万不要忘记了它的兄弟“堆”(heap),也要切记不要把二者搞混了。
那么,什么时候会把给用完了呢?如果我们记得C程序中的局部变量是在栈中分配的,函数调用会占用一部分栈空间,则可以很容易地构造出相应的测试用例。

1、定义占用空间过大的局部变量所导致的栈溢出

C:\> more stack_local.c

/*
* Allocate too much memory from stack will cause stack overflow.
*/

#include <stdio.h>

int main(int argc, char *argv[])
{
int foo[1000000];
return 0;
}

C:\> cl stack_local.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.

stack_local.c
Microsoft (R) Incremental Linker Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.

/out:stack_local.exe
stack_local.obj

C:\> s