摘要: 转自 http://clkrst.itpub.net/post/137/41162linux下跑得一直很好的程序,到了windows下面就跑不起来了。内存异常,检查了一下,很快发现是因为在主程序中释放了一块在DLL中分配的内存,这种问题虽然早就知道了,但是一直没有仔细考虑过,所以今天就深入研究了一下。在linux下,每个进程只有一个heap,在任何一个动态库模块so中通过new或者malloc来分配内存的时候都是从这个唯一的heap中分配的,那么自然你在其它随便什么地方都可以释放。这个模型是简单的。但是在windows下面,问题变得复杂了。1、windows允许一个进程中有多个heap,那么. 阅读全文
posted @ 2011-08-18 15:57 醉翁之家 阅读(2406) 评论(0) 推荐(1) 编辑