系统相关
首页 > 系统相关> > python – 进程以退出代码-1073741571结束

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