标题:求虚拟内存,文件映射,堆,普通变量之间的区别
只看楼主
WDMfans
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:168
注 册:2010-9-19
得分:0 
说实在的,virtualalloc可以申请多大内存,malloc就能申请多大
因为他们都是申请。。
virtualalloc可以撤销申请的内存
free也可以
至于保留、设置属性或从指定虚拟地址申请内存,额外功能

就是一加强版的的内存管理函数
它只使用默认堆中没被标记为私有堆的虚拟地址
2010-10-16 23:14
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
得分:0 
malloc是语言的库函数,virtualalloc是操作系统提供的用户API,
怎么可以相提并论呢?
上面再怎么捣鼓,最后还是落到操作系统手里。操作系统是怎么进行内存管理的,就是
怎么进行内存管理的。virtual。。。 映射  堆 是操作系统提供的用户模式下的3种内存管理函数组。
没有virtualalloc的保留提交,大家都没得用。
至于普通变量,他们在内存中的存在形式有3种
一是全局的 所用空间和程序一体。动不了。
二是局部的 运行时堆栈分配,调用框架内自动维护。一般情况下,在高级语言的层次上动不了。
三就是运行时动态分配撤消的,这个就牵扯到内存的管理了。

这些内容都好多,想很清楚的话还要去看MM系列的内核函数,以前我花了很多时间和精力去学这些。。。但是没地方用啊 过不了多久就忘了。所以现在偶改邪归正一心扑在事业上,争取年底评上三八红旗手。

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-10-17 01:07
WDMfans
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:168
注 册:2010-9-19
得分:0 
不管他是api还是库函数
函数就是函数

api和库函数都是修改进程PCB的域
直接改PEB,照样使用内存
api并不见得重要,他们存在的唯一理由,就是为用户提供方便。





[ 本帖最后由 WDMfans 于 2010-10-17 08:44 编辑 ]
2010-10-17 08:30
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
得分:20 
看见帖子 我第一个想法 分来了!
2010-10-17 09:15
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
得分:0 
以下是引用WDMfans在2010-10-17 08:30:31的发言:

不管他是api还是库函数
函数就是函数

api和库函数都是修改进程PCB的域
直接改PEB,照样使用内存
api并不见得重要,他们存在的唯一理由,就是为用户提供方便。
无语。


楼主记得给分呀。

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-10-17 16:04
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
得分:0 
以下是引用hahayezhe在2010-10-17 09:15:50的发言:

看见帖子 我第一个想法 分来了!
这次不给分你了,也不提供点实质的帮助。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-10-17 18:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-323097-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.221543 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved