首页
社区
课程
招聘
[讨论]程序内存碎片?
发表于: 2012-9-4 23:07 5088

[讨论]程序内存碎片?

2012-9-4 23:07
5088
在一个程序中需要大量的申请和释放内存,不太理解windows如何知道哪些内存是可以申请,哪些是已经使用的的?4Gb的内存地址如何选择的符合要求大小的内存空间返回的?如果大量的申请小空间的内存并释放,是否会产生内存碎片?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 292
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
建议去找本Windows内核的书来看吧,这个三两句话说不清
2012-9-5 08:11
0
雪    币: 235
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
频繁,大量的 小的内存申请,释放。 可以考虑内存池了
2012-9-5 12:27
0
雪    币: 85
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看书看书
2012-9-12 15:50
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
WINDOWS的分页机制可以看看,不过最好用MFC的内存分配,那个好像有优化的。
2012-9-12 21:25
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
说错了,是VC运行库的malloc,它会一次分配较多的内存,然后标记哪个用过了,哪个没用过。
2012-9-12 21:26
0
雪    币: 155
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
根据程序中的内容的运行级别来分配吧,分页和非分写内存,系统会根据这些来判断放在哪里吧。。。
2012-9-15 16:51
0
游客
登录 | 注册 方可回帖
返回
//