flyingbox
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-09-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1608回复:6

如何在指定地址的SDRAM中分配使用一块内存

楼主#
更多 发布于:2004-08-18 17:57
比如SDRAM的地址0x50000;

如题,请大侠帮忙!!!
RED_spring
驱动中牛
驱动中牛
  • 注册日期2002-07-28
  • 最后登录2016-11-06
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望19点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-08-18 18:57
你是说物理地址吗?  98还是2k?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2004-08-18 21:55
可以直接往物理地址里写。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
Sundsea
驱动老牛
驱动老牛
  • 注册日期2003-05-06
  • 最后登录2012-06-05
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望35点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-18 23:23
不知是不是这个意思.

void* place = (void*) 0x50000;
int* p = new(place) int[20];


由place指向的存储器必须足够大以能装下20个int ,返回指针p在数值上和place相同,但p是一个int*而不是void*.
RED_spring
驱动中牛
驱动中牛
  • 注册日期2002-07-28
  • 最后登录2016-11-06
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望19点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2004-08-19 12:52
不知是不是这个意思.

void* place = (void*) 0x50000;
int* p = new(place) int[20];


由place指向的存储器必须足够大以能装下20个int ,返回指针p在数值上和place相同,但p是一个int*而不是void*.


这个好像不行吧 ?  :P
Sundsea
驱动老牛
驱动老牛
  • 注册日期2003-05-06
  • 最后登录2012-06-05
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望35点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-19 21:05
这样可以实现在指定位置申请内存空间.......
RED_spring
驱动中牛
驱动中牛
  • 注册日期2002-07-28
  • 最后登录2016-11-06
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望19点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2004-08-21 17:29
这样得到是线性地址(如果在driver里)或是虚拟地址(AP里)。不过win98可以这样可以这样访问1M以下的物理地址。
游客

返回顶部