hur.cn - 华软网

 热门搜索

在windows(不是wince下面),能否调用什么api来开出一片连续的物理内存呢?

  作者:未知    来源:网络    更新时间:2011/1/13
网上搜了一下WinCE似乎能够很容易做到,那么桌面/服务器版本的Windows呢,能够做到么,如何做到?

想要从纯技术方面和大家探讨一下。谢谢!
---华软 网友回答---
HeapCreate 申请堆空间在进程当中。
相关方法:
HeapCreate
HeapFree
HeapAlloc
HeapReAlloc
HeapDestory
---华软网友回复---
ls正解

一般运用上述函数申请的内存留物理上也是接连的
---华软网友回复---
引用 1 楼 wangbo56916860 的回复:
HeapCreate 申请堆空间在进程当中。
相关方法:
HeapCreate
HeapFree
HeapAlloc
HeapReAlloc
HeapDestory


谢谢,不过,能否看到HeapCreate申请获得的内存,在物理内存当中的地址范围呢?

希望指教!
---华软网友回复---
引用 3 楼 jkljljkl 的回复:
引用 1 楼 wangbo56916860 的回复:
HeapCreate 申请堆空间在进程当中。
相关方法:
HeapCreate
HeapFree
HeapAlloc
HeapReAlloc
HeapDestory


谢谢,不过,能否看到HeapCreate申请获得的内存,在物理内存当中的地址范围呢?

希望指教!


这个应该能够,你把首尾地址打印出来看看就知道了
---华软网友回复---
打印首地址,加上偏移量。

32位系统,用户模式分区。
0x7FFF0000~0x7FFFFFFFF

64位系统,用户模式分区。
0x0001000~0xBFFEFFFF
---华软网友回复---
引用 4 楼 tandyt 的回复:
引用 3 楼 jkljljkl 的回复:
引用 1 楼 wangbo56916860 的回复:
HeapCreate 申请堆空间在进程当中。
相关方法:
HeapCreate
HeapFree
HeapAlloc
HeapReAlloc
HeapDestory


谢谢,不过,能否看到HeapCreate申请获得的内存,在物理内存当中的地址范围呢?

希望指教!


……

这个"接连"是指"逻辑地址空间"里面接连吧,和物理内存地址之间应该另有一次映照啊,物理地址如何能打印出来呢?

谢谢
---华软网友回复---
不同的操作系统的逻辑地址和物理地址的映照方式不同,和操作系统的位数也有一定的关系。
不知道VC有没有现成的api 函数      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。