此問題是此question的後續操作。內存泄漏Sicstus Prolog
我運行了大量的測試,在Sicstus序言:
runtest:-
t1,
t2,
t3,
.
.
t100.
每個測試是獨立的,並打印其結果到屏幕上。測試之間沒有關係,所以在每次測試之間不需要存儲/保存數據。
我的問題是Sicstus積累內存終於命中一個例外:「資源錯誤:內存不足」
我曾試圖組織我的測試是這樣的:
runtest:-
once(t1),
once(t2),
.
.
once(t100).
但我仍然進入問題。
是否有任何其他方式告訴Prolog在每次調用測試之間釋放所有分配的內存?使用(現代)failure driven loop
從術語上將這種風格與常見的故障驅動循環分開將有很大的幫助。 'findall/3','setof/3'裏面有失敗驅動循環。 – false
因爲「T」足夠,所以不需要「一次(T)」。 – false