我正在运行一个执行广度优先搜索的.pro文件,如果队列太长,
出现以下错误消息:
system_error 1021控制堆栈已满。 编译代码或增加.cfg 参数'control'
如果是这样,我怎样才能在eclipse下运行已编译的代码?我已经尝试过运行该项目但是听众刚刚结束而没有接受任何疑问......?
答案 0 :(得分:1)
控制堆栈已满意味着以下两点之一:
您有一个深度递归会耗尽控制堆栈。在这种情况下,您需要在 amzi.cfg 文件中增加“control”的默认值。你可能会发现你必须增加'堆','跟踪'和/或'本地'。
您的程序出错,导致无限递归。
在调试器中运行程序将显示您的情况。在初始的情况下,您会看到它深入挖掘解决方案。在稍后的情况下,您会看到它以圆圈形式追逐它的尾部,每次递归与之前的递归相同,但具有不同的变量。
答案 1 :(得分:0)
我不知道amzi prolog(我只使用了SICStus和SWI),并且从未使用Eclipse进行prolog,但正如错误消息所示,请尝试编译(而不是咨询)您的代码。在项目/属性下查看构建配置(如run / deug,因为它适用于Java / C ++)。希望“.cfg paramerer”也可以通过项目/属性访问。