问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++栈溢出怎么解决?

发布网友 发布时间:2022-05-23 16:43

我来回答

2个回答

热心网友 时间:2023-10-29 20:48

一般每个进程的栈空间是限定的。(为什么限定?去学汇编和操作系统就知道)

什么占用栈空间?
除去系统栈占用外,基本就是栈变量。(什么是栈变量?无语¥%*&……%¥%&)
简单来说上面那个a就是栈变量。

修改有两个办法:
一 改为堆变量:
int* pa = malloc(sizeof(int)*1000*1000);
然后可以将pa当数组用。(数组和指针在C里基本等同)
当然,不用了记得free pa。

二 修改系统*
这个栈变量= 1000*1000*4 = 4M。(约等于)
如果这个函数不频繁调用,也不递归,一般还是可以接受。
可以修改操作系统对进程栈空间的大小*,稍微调大一些。
ulimit查看系统的*。(*nix系统命令。不是windows的)

当然方法二非常不值得推荐

热心网友 时间:2023-10-29 20:48

说明递归层数过多(至少上万了)
原因是写的有问题,没设置正确的退出条件;
也有可能是就是得递归那么多层,这时可以考虑将函数递归改成利用std:stack<T>实现递归,这样能容忍的层数会多很多,只要内存够。

丛程序是快速排序来看,更有可能是算法写错了,导致递归无法终止。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
arrive in和arrive at 有什么区别? 磁力泵为什么可空转? 为什么不让衬氟塑料磁力泵空转?怎样提升设备稳定性? 工业软管泵 塑料磁力泵为什么不能空转 求推荐男主和女配在一起的小说? 《红衣天下》txt全集下载 检测公司检测哪些 检测公司是怎么样的 检测公司属于什么企业 C/C++函数调用,栈溢出,该怎么解决 使用springdatajqa怎么解决栈内存溢出? 尼德兰和凉州这两个国家,为啥结局完全相反? 关于成立工作不作为调查领导小组的通知 落实八项规定 机关活动如何开展的最新相关信息 世界上第一个资产阶级共和国是哪一个 尼德兰联省共和国的经济 尼德兰王国的前世今生是怎样的?很厉害吗? 尼德兰联省共和国成立于下面哪一年 尼德兰联省共和国的历史 尼德兰联省共和国的地理 老公有精神病,十年没性生活.这样可以离婚吗 十年无性婚姻有必要维持吗明白三个道理 结婚十年了几乎没有性生活,常分居,冷战,从不主动和好我该怎么办? 我和老公十年没有性生活了,可以申请离婚吗?该如何申请 分居已经10年无性生活10年,今年61岁离婚有什么后果? 老婆与我十年不同房了,相互冷淡? 一对夫妻结婚十年丈夫一次也没有和妻子性生活现在女方想离婚可以去*起诉吗? 我老婆29岁和我结婚的有快有十年了不和我过性生活正常吗? 六十岁的年龄已经十年没有夫妻性生活了,是离婚还是不离婚,该怎么办? 如何解决C,C++中stack overflow问题 关于stack overflow at line:0的问题 如何解决VS代码调试时出现 Stack overflow 栈溢出怎么解决int a[512][512] 国庆节高速免费具体时间段是什么时间 2017年中秋节放假安排高速免费吗 腾讯手机管家下载的东西在哪里? 腾讯手机管家的大。大文件怎么下载 tcl电视点击了恢复出厂设置以后界面一直是雪花点点是什么情况 在应急车道行驶怎么处罚 应急车道处罚 在应急车道行驶怎么受到怎样的处罚 分期平台说可以分期套现,不需要还钱。套现后工作人员收取25%的手续费后说不用还钱,现在分期平台让 学校入的意外险在学校外的意外管吗 在校学生的意外险,如果发生在别的地方,能报吗? 摩尔城真快活电玩城怎么样 王家湾什么地方有电玩城? 街道口创意城有哪些好玩的地方? 十堰哪里有模拟驾驶器可以玩的? 湖北真快活美乐园娱乐管理有限公司怎么样