
堆栈一般是在你调用子程序时,系统自动将当前调用点现场保留数据压入栈,并且在子程序中开设的局部变量也会占用栈空间。
解决方法有几个:
-修改编译配置,增大栈空间
-避免不必要的嵌套、频繁调用子程序,比如避免使用递归调用、多重嵌套
-避免在子程序中开设局部大容量变量,如果需要,可以考虑开设成全局变量,或临时使用公用全局变量计算
现象:在一次使用GUST程序挂起Iomega Iip驱动器之后,重新引导系统时,引导过程进行到半途中就停在那里。如果在引导过程中击中左边的(Shift)键,那么它就提示Internal Stack Overflow System Halted
分析:此类故障现象属内部堆栈溢出错误。在PC中,堆栈与中断有关。当某一中断被调用时(由硬件或软件调用)。CPU不得不突然停止他在进行的 *** 作,转移到需要中断来完成的事情。
CPU当前的状态被保存在堆栈中,堆栈是一小块内存区域,专门留出来供这种目的使用。然而,在处理当前中断之前,有可能发生了多个中断,在这种情况下,CPU为了处理优先级别较高的中断,就将越来越多的状态压入到堆栈中。最终,堆栈空间就会溢出,而这就是你看到的结果。由Iomega Iip驱动器安装的GUEST软件已引起了问题,所以应检查一下启动文件(AutoexecBAT和Configsys)。确信已经根据需要添加了所有必需的命令行开关或者使用REM命令注释掉了任何对GUEST程序的引用。可能还要试着断开与2IP驱动器的连接。
处理:检查启动文件并进行上述相应的处理。如果故障仍然存在,则断开与2IP驱动器的连接。
谢谢采纳啊。。。
造成IE和其它浏览器崩溃的原因是很多的,像IE组件被破坏,或者硬件设备不支持物理加速等,都可能造成浏览器的异常崩溃,这个必须要找到原因手动
才容易修复,否则的话,手动修复是很麻烦的,建议你可以使用电脑管家电脑诊所提供的专业方案,一键就可以解决问题。
附:手动修复步骤(来源:腾讯电脑管家电脑诊所,自动修复请点击上方的立即修复)
方案一:清除IE缓存
1 打开IE浏览器→点击工具→ Internet 选项→删除:
2 勾选所有选项→点击确定→ 在确认窗口中点击确定(如使用其他浏览器,请用类似方法清除浏览器缓存)
方案二:注册IE组件
点击开始菜单→在搜索框中输入"cmd"→按键盘enter(回车)键:
在d出的黑色窗口中,按顺序输入以下内容,按键盘enter(回车)键,再逐一完成以下全部部件注册:
regsvr32 atldll
regsvr32 shdocvwdll
regsvr32 urlmondll
regsvr32 browseuidll
regsvr32 oleaut32dll
regsvr32 shell32dll
regsvr32 jscriptdll
regsvr32 vbscriptdll
regsvr32 mshtmleddll
regsvr32 CLBCATQDLL
regsvr32 cscuidll
regsvr32 MLANGdll
regsvr32 stobjectdll
regsvr32 WIN>
以上就是关于单片机堆栈溢出怎么办,什么是堆栈全部的内容,包括:单片机堆栈溢出怎么办,什么是堆栈、电脑提示堆栈溢出是哪里的问题、笔记本电脑有时会出现堆栈溢出是什么意思我要怎么弄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)