在Python中以退出代码-1073741571(0xC00000FD)完成处理

时间:2020-06-24 08:16:04

标签: python python-3.x

我正处于学习Python的初期。我尝试为较小的值计算Ackerman函数。直到值(3,7)为止,它都可以正常工作。高于该值(例如3,8)的任何值都将引发此错误。 [处理完成,退出代码为-1073741571(0xC00000FD)]

首先,我检查了是否达到了递归限制,但是该过程在远低于设置的递归限制(在这种情况下,它设置为最大)下停止了。

var valueGot = this.stringToInt.TryGetValue(value, out var associate);

if (valueGot)
{
    return associate;
}
else 
{
    // return something else
}

1 个答案:

答案 0 :(得分:0)

就这么简单,您会出现堆栈溢出。

递归限制仅指示递归调用可以进行的深度,但不会更改堆栈大小。每个递归调用都会将帧添加到堆栈中,最终您将达到极限。

如果您真的想深入了解递归,则必须使用threading.stack_size()更改堆栈大小并创建一个新线程。

相关问题: Process finished with exit code -1073741571