搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 什么是far 函数?
标题:
什么是far 函数?
只看楼主
han2y
来 自:山东德州
等 级:
新手上路
帖 子: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
等 级:
新手上路
威 望:
8
帖 子:1430
专家分:0
注 册:2006-4-5
第
2
楼
得分:0
以下是引用
han2y
在2006-8-1 13:42:28的发言:
例如函数:
void far initgraph(int far *drive)
其中,第二个far是一个远程指针,不知第一个far在此的意义是什么?怎样解释?谢谢了!
第一个far应该只是个远程型修饰符,按照我的理解,就是函数的入口地址对应远程堆中的一块比较大的内存.可能是由于函数本身所占空间太大所致.
对不礼貌的女生收钱......
2006-08-01 15:46
han2y
来 自:山东德州
等 级:
新手上路
帖 子:175
专家分:0
注 册:2006-5-4
第
3
楼
得分:0
还有别的解释吗
2006-08-02 17:24
论坛
等 级:
新手上路
威 望:
6
帖 子:1372
专家分:0
注 册:2006-3-27
第
4
楼
得分:0
ፋድስፋስፋስድፍስድቭሳአስችችችችችችድሳፋድፋስድፍፋድፍጃስድፍናስግንወጋ
ፋድስፋሆኢጋህንገንፍቭላስፍንጅፍድፋፍጃልድጅፍዊፍን/ቃ
ቅ]ግቅግቀንግድፍምዝ/ጋ
~
~
~
日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-08-02 19:22
ccj
等 级:
新手上路
帖 子:84
专家分:0
注 册:2006-7-27
第
5
楼
得分:0
好象是长跳指针
河马的牙齿有多少颗,我不知晓;流氓兔的家在哪里,我不知晓;花开的声音,小草的呼吸,流星的足迹,我统统
2006-08-02 21:45
ccj
等 级:
新手上路
帖 子:84
专家分:0
注 册:2006-7-27
第
6
楼
得分: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
等 级:
新手上路
帖 子:42
专家分:0
注 册:2007-9-3
第
7
楼
得分:0
还是不太明白
2007-09-17 10:58
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-81434-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.392324 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved