Bikky
驱动牛犊
驱动牛犊
  • 注册日期2003-12-01
  • 最后登录2017-02-21
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望11点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:990回复:2

长指针...

楼主#
更多 发布于:2004-02-19 11:00
DOS环境下有如下代码:
uchar * ptr;
ptr=(uchar far *)MK_FP(0xe000,0x0000);
*ptr=35;
printf("%d\n",*prt);

运行结果是打印出了35,但不懂上面那几行代码是何意?长指针是写到系统内存还是写到扩展卡上的内存?为何不用普通指针?
上面的那个长指针若换成普通物理地址会是多少呢?
百克
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-02-19 12:33
FLAT模式下,一般不用FAR了,以前是为了实模式下的,段切换,不知道AMD64下,是否又会有FAR指针了??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
luowei74
驱动小牛
驱动小牛
  • 注册日期2003-07-21
  • 最后登录2007-04-16
  • 粉丝0
  • 关注0
  • 积分162分
  • 威望21点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-19 12:36
dos是在实模式下,指针指向的是E000:0000,如果是实模式就是EOOOO地址,在bios中
游客

返回顶部