在 Swi-prolog 中增加运行时的堆栈大小

Increase stack size in runtime in Swi-prolog

我在代码中使用了 set_prolog_flag(stack_limit, 5000000000).

但是我得到了以下错误:

ERROR: No permission to modify static procedure "set_prolog_flag/2"

我好像没有权限修改stack_size.Is有解决办法吗?

Emolai,看来你查阅的资料过时了。 您需要以这种方式设置堆栈限制:

:- set_prolog_stack(堆栈,限制(5000000000))。

看到冒号+减号了吗?这表示要执行目标 set_prolog_stack/2 而不是定义新子句 set_prolog_stack/2。这解释了您遇到的错误。

你现在可以开始了。你的问题解决了吗?