内存不足栈溢出

Posted 学海无涯,回头是岸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存不足栈溢出相关的知识,希望对你有一定的参考价值。

使用51单片机开发会容易出现DATA区内存不足的情况,有时体现为某SEGMENT OVERFLOW。这个时候可以充分利用128字节的片外RAM,在定义较大的数据类型时在最前面加上idata,在后面的程序中直接调用就可以了。

另外经常会出现栈溢出的问题。如果在主函数中单独调用子函数不会出错,而在另一个函数,例如中断中调用就会出问题的话,这个时候编译会通过,但是仿真的时候就会看到出错了。这种情况多半是由于函数多重调用导致的栈溢出,解决方法是简化子函数的调用方式,或者直接地,把几个子函数写成一个子函数,然后在这个函数中使用goto语句,这样的话工作量会很大,但是成效应该是最好的。

以上是关于内存不足栈溢出的主要内容,如果未能解决你的问题,请参考以下文章

内存不足、内存溢出的原因和解决方法?

内存溢出,与内存泄露

递归调用太深,可能导致栈溢出

Java内存溢出(OOM)分析

JBoss 4.0.5GA 多次部署应用程序出现 PermGen 内存不足(溢出)问题

内存溢出和内存泄漏的区别,产生原因以及解决方案