C# 如何使用c语言的程序检查堆栈内存的大小#
我尝试了很多方法,但是有很多方法可以找到堆栈溢出发生的时间,但是没有一个程序可以确定堆栈的实际限制你是对的;确实没有一个好的方法来确定这一点。但是:如果您使用了足够多的堆栈来处理它,那么可能已经出现了很大的问题 有两种常见的情况涉及堆栈溢出:C# 如何使用c语言的程序检查堆栈内存的大小#,c#,memory,stack,limit,stack-overflow,C#,Memory,Stack,Limit,Stack Overflow,我尝试了很多方法,但是有很多方法可以找到堆栈溢出发生的时间,但是没有一个程序可以确定堆栈的实际限制你是对的;确实没有一个好的方法来确定这一点。但是:如果您使用了足够多的堆栈来处理它,那么可能已经出现了很大的问题 有两种常见的情况涉及堆栈溢出: 递归,通常可以由非递归循环代替,有时涉及堆栈或队列作为占位符(假设它不是无缘无故的错误无限递归-非常常见的错误) 过大的局部变量,特别是对非平凡有效载荷过度使用stackalloc(后者通常可以在检查非平凡有效载荷大小后,用ArrayPool租约替换)
- 递归,通常可以由非递归循环代替,有时涉及
或堆栈
作为占位符(假设它不是无缘无故的错误无限递归-非常常见的错误)队列
- 过大的局部变量,特别是对非平凡有效载荷过度使用
(后者通常可以在检查非平凡有效载荷大小后,用stackalloc
租约替换)ArrayPool