首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

Windows程序中,数据过多时的栈溢出有关问题与堆内存的使用

2012-06-20 
Windows程序中,数据过多时的栈溢出问题与堆内存的使用在Windows中,一个线程的栈空间的默认大小是1MB,对于M

Windows程序中,数据过多时的栈溢出问题与堆内存的使用
        在Windows中,一个线程的栈空间的默认大小是1MB,对于MFC UI主线程,一般其栈空间的大小均为1MB,当UI主线程的数据较大时就可能会造成栈溢出,从而导致程序出现异常。那么出现栈溢出该如何解决呢?可以通过使用堆内存来消除这样的问题,即很多时候都用new来的堆内存。对于类数据,则直接使用new来的对象来存储。系统会给每个程序分配一个4GB的虚拟空间,其中包括存放代码的空间,以及存放数据的空间。正常情况下,这样的内存已经足够程序使用了。所以,对于大型UI程序,要将栈内存和堆内存有效的结合起来,这样才能保证程序的正常运行与使用。

热点排行