麻烦各位高手帮忙 IE浏览器出问题

来源:百度知道 编辑:UC知道 时间:2024/05/03 00:43:44
上网的时候,老是弹出窗口“stack overflow at line 0”,QQ,迅雷也时会遇到问题关闭,我的电脑怎么了?中毒了?瑞星扫描没毒。还是系统有问题?

这个问题是哪位仁兄问的,这20分布给我我跟百度拼了!

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