python – 进程以退出代码-1073741571结束
作者:互联网
我有一个递归函数,它正在寻找欧拉路径.我不认为函数的定义是相关的(但如果有人这么认为,我也会粘贴它).
问题是当我运行带有大图的函数时,我收到以下众所周知的错误:RuntimeError: maximum recursion depth exceeded in cmp
即使没有上述问题,我也知道我需要使用以下命令增加递归限制
import sys
sys.setrecursionlimit(5000)
问题是,无论我使用的是什么号码,我都会得到最大递归错误或我的程序暂停,屏幕上没有输出但是:进程以退出代码-1073741571结束.我试图谷歌这个代码,我能找到的唯一问题是Ruby中的问题.知道如何克服这个问题.
如果这是相关的我在Windows 8 64位,我有足够的RAM,我有64位python.
仅仅因为出于某种原因这个问题最近得到了一些关注,我想强调一下我无法找到问题的解决方案.在无可救药地试图解决问题之后,我放弃了并且在没有递归的情况下重写了它.这也很烦人,但是我花了很少的时间重写整个算法,而不是我花在调查这个问题上.我还想提一下,我没有以前的递归代码,所以我将无法复制问题.
解决方法:
你可以使用类似的东西:
if __name__ == '__main__':
sys.setrecursionlimit(100000)
threading.stack_size(200000000)
thread = threading.Thread(target=your_code)
thread.start()
这解决了我的递归限制和我的堆大小限制.
标签:error-code,python,recursion 来源: https://codeday.me/bug/20190928/1829449.html