如何提高TCL中的递归限制。我的嵌套递归proc正在出错。
proc a {arg} {
a $arg
}发布于 2018-05-15 01:26:30
“当前”解释器的名称是空字符串。
$ tclsh
% proc a {} { incr ::n; a }
% set n 0
0
% a
too many nested evaluations (infinite loop?)
% set n
1000
% interp recursionlimit ""
1000
% interp recursionlimit "" 4000
4000
% set n 0
0
% a
too many nested evaluations (infinite loop?)
% set n
4000注意文件中的警告:
该命令仅设置Tcl调用堆栈的最大大小。它本身无法阻止应用程序使用的C堆栈上的堆栈溢出。如果您的机器对C堆栈的大小有限制,则在达到命令设置的限制之前,您可能会得到堆栈溢出。如果发生这种情况,请查看系统中是否存在增加C堆栈最大大小的机制。
https://stackoverflow.com/questions/50340318
复制相似问题