登录
首页 >  Golang >  Go问答

golang中如何避免堆栈溢出?

来源:stackoverflow

时间:2024-04-15 11:45:27 392浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《golang中如何避免堆栈溢出?》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我在导出到 dll 的 go 中多次调用函数时遇到问题。调用它例如 80 000 次会导致堆栈溢出。有什么办法可以避免吗?函数调用后可以清除堆栈或堆吗?

//export GetNum
func GetNum(DeviceType uint32, DeviceInd uint32, CANInd uint32) int {
return 0
}

解决方案


是的,例如只需调用 10,000 次即可。或者不使用递归算法或将递归转换为正常循环(尾调用优化)。

附注您的代码未显示任何相关详细信息。

本篇关于《golang中如何避免堆栈溢出?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>