有效进行内存管理是我遇到的一个问题,
当进行大量的new 和delete 操作这后,如果访问用new新产生的内存区域内容时,效率不高。
现在很多大型软件(可供二次开发)都有自己的内存管理api,而不仅仅让程序员依赖于操作系统和编译器。
我想这样做的原因如下:
1、频繁new ,delete造成大量的内存碎片,操作系统不能有效整理(尤其是windows)。
2、在windowns系统下,为指针保留而外的界限,从而增加了开销。(别人告诉我的,我不理解)对于上述问题,请高手予以解答:
1、造成问题的原因是什么?
2、有效的解决方案是什么?
当进行大量的new 和delete 操作这后,如果访问用new新产生的内存区域内容时,效率不高。
现在很多大型软件(可供二次开发)都有自己的内存管理api,而不仅仅让程序员依赖于操作系统和编译器。
我想这样做的原因如下:
1、频繁new ,delete造成大量的内存碎片,操作系统不能有效整理(尤其是windows)。
2、在windowns系统下,为指针保留而外的界限,从而增加了开销。(别人告诉我的,我不理解)对于上述问题,请高手予以解答:
1、造成问题的原因是什么?
2、有效的解决方案是什么?
解决方案 »
- 为何GetMenu()获取不了CMenu*
- 请教:vc下有没有类似lucene的全文检索引擎工具包?
- VC开发的检索光盘只能在win98下使用,能否自己进行修改
- 关于应用拉格朗日插值定理进行图像放大
- name="=?gb2312?Q?=D5=D5=C6=AC3.jpg?=" 是什么编码?
- help! VC中如何使窗口始终在最前方?
- 如何建立自己的类?
- 请问,QP(Quote-Printable) 编码的规则是什么?
- 谁给我一些学习com的资料呀,或者网站(100分)
- sprintf在网络编程中的作用
- 怎样加快画图的速度
- 急需解决的问题:自画的基于于CComBoBox为何用GetWindowText()函数不能获得当前选定的文本内容(获取是的乱码),为何?(附代码)
Windows会在分配内存时适当的考虑,使用其它的管理方法,最终都是要转化为系统的内存分配历程的!
至于第二个问题吗?是的,要保留一些内存空间,但很小的,根据不同的Windows系统这个保留的空间有2-8B而已,不会增加太多的开销的!个人观点!
请回答的详细一点。:)