问题描述:
函数结构体具有很好的封装作用,但是一旦堆栈过深,就会陷入陷阱,总结一下最近遇到的一个问题。我现在是基于vb.net结合AutoCAD绘制出矿井立体示意图,由于需要计算出双线条数据。因此需要从已知单线条数据向双线条数据转换。在这个过程中需要进行大量的向量运算,因此我设计了大量的计算函数。在程序绘制过程,函数中套用函数导致堆栈过深。
解决方案:
经过大量的实验,最后我解决了相关问题。我首先减少堆栈里面调用堆栈的次数。优化计算算法,降低其时空复杂度。具体方式是:通过事先设定的结构体,减少数据占用空间。其次在公共类模块中减少函数中调用函数的深度。最后在主程序中添加限定条件,使得程序能够正确运行。
堆栈过深的危害以及处理方法
最新推荐文章于 2024-08-16 20:54:12 发布