| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2472 人关注过本帖
标题:什么是far 函数?
只看楼主 加入收藏
han2y
Rank: 1
来 自:山东德州
等 级:新手上路
帖 子:175
专家分:0
注 册:2006-5-4
结帖率:100%
收藏
 问题点数:0 回复次数:6 
什么是far 函数?
例如函数:
void far initgraph(int far *drive)
其中,第二个far是一个远程指针,不知第一个far在此的意义是什么?怎样解释?谢谢了!
搜索更多相关主题的帖子: far 函数 
2006-08-01 13:42
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用han2y在2006-8-1 13:42:28的发言:
例如函数:
void far initgraph(int far *drive)
其中,第二个far是一个远程指针,不知第一个far在此的意义是什么?怎样解释?谢谢了!

第一个far应该只是个远程型修饰符,按照我的理解,就是函数的入口地址对应远程堆中的一块比较大的内存.可能是由于函数本身所占空间太大所致.


对不礼貌的女生收钱......
2006-08-01 15:46
han2y
Rank: 1
来 自:山东德州
等 级:新手上路
帖 子:175
专家分:0
注 册:2006-5-4
收藏
得分:0 

还有别的解释吗


2006-08-02 17:24
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
ፋድስፋስፋስድፍስድቭሳአስችችችችችችድሳፋድፋስድፍፋድፍጃስድፍናስግንወጋ
ፋድስፋሆኢጋህንገንፍቭላስፍንጅፍድፋፍጃልድጅፍዊፍን/ቃ
ቅ]ግቅግቀንግድፍምዝ/ጋ
~
~
~


日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-08-02 19:22
ccj
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2006-7-27
收藏
得分:0 

好象是长跳指针


河马的牙齿有多少颗,我不知晓;流氓兔的家在哪里,我不知晓;花开的声音,小草的呼吸,流星的足迹,我统统
2006-08-02 21:45
ccj
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2006-7-27
收藏
得分:0 
far指针的长度是32位,含有一个16位的基地址和16位的偏移量,将基地址乘以16后再与偏移量相加,(所以实际上far指针是20位的长度。)即可得到far指针的1M字节的偏移量。所以far指针的寻址范围是1M字节,超过了一个段64K的容量。例如一个far指针的段地址为0x7000,偏移量为0x1244,则该指针指向地址0x71224.如果一个far指针的段地址是0x7122,偏移量为0x0004,则该指针也指向地址0x71224。

如果没有指定一个指针是near或far,那么默认是near。所以far指针要显式指定。far指针工作起来要慢一些,因为每次访问一个far指针时,都要将数据段或程序段的数据交换出来。另外,far指针的运算也比较反常,例如上面讲到的far指针指向同一个地址,但是比较的结果却不相同。

河马的牙齿有多少颗,我不知晓;流氓兔的家在哪里,我不知晓;花开的声音,小草的呼吸,流星的足迹,我统统
2006-08-02 21:49
alex_chen
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-9-3
收藏
得分:0 
还是不太明白

2007-09-17 10:58
快速回复:什么是far 函数?
数据加载中...
 
   



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

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