我真的需要一个建议。我有一个递归调用数量很大的函数。其实我需要它。算法是正确的,它在C中工作,但是在lisp中,由于堆栈溢出,存在问题。我应该怎么做才能解决它?我怎样才能改变算法,以便能够在lisp中工作?Lisp堆栈溢出绑定
-2
A
回答
2
你有三个选择:
- 重写算法是尾递归或等价地,反复
- 更改算法一起
- 增加Lisp的堆栈大小
+0
如何做第三个选项?在Windows操作系统上可以吗? – user216799 2013-05-12 20:03:11
+0
您使用的是什么lisp?什么是可用的命令参数?文件说什么? – GoZoner 2013-05-12 23:07:33
相关问题
- 1. Lisp编程错误(堆栈溢出(深))
- 2. 堆栈溢出
- 3. .NET堆栈溢出?
- 4. Threading.Timer堆栈溢出
- 5. 堆栈溢出C++
- 6. C#堆栈溢出
- 7. Lua堆栈溢出
- 8. MPMoviePlayerController堆栈溢出
- 9. C++堆栈溢出
- 10. Malloc堆栈溢出
- 11. 堆栈搜索导致堆栈溢出
- 12. Lisp中递归函数调用的堆栈溢出
- 13. 调用`(GET-线程绑定)`导致堆栈溢出
- 14. 序言集,堆栈溢出
- 15. 堆栈溢出(Shellcoder手册)
- 16. 堆栈溢出错误?
- 17. ArrayLists堆栈溢出错误
- 18. 足够堆栈溢出?
- 19. 堆栈溢出从railstutorial.org
- 20. 堆栈溢出错误
- 21. Quicksort引起堆栈溢出?
- 22. 堆栈溢出(关于“evhttp_uri_parse”)
- 23. 堆栈溢出异常
- 24. 堆栈溢出中的SAML?
- 25. GWT:堆栈溢出在IE
- 26. 堆栈溢出错误
- 27. Jboss中的堆栈溢出
- 28. 堆栈溢出Web架构
- 29. 堆栈溢出/ SEG故障
- 30. JWS堆栈溢出错误
这真正太宽泛的问题才能给出有意义的答案。将递归算法更改为迭代算法或尾递归算法,这是我们可以说的最多的。 – Cairnarvon 2013-05-12 12:33:50
你在编译函数吗?如果是这样的话:使用'optimize'的什么设置? – 2013-05-12 18:34:44
我在Lisp的第42行看到,你偏离了C所做的事情;你改变了一个关键的检查,发生失控递归。没有等待,它是第47行!我的水晶球需要一个新的偏转线圈; 2的开始看起来像7。 – Kaz 2013-05-18 05:40:49