什么是far、near关键字
来源:互联网 发布:千牛软件 编辑:程序博客网 时间:2024/05/22 11:51
本文转自:http://hi.baidu.com/dareny/item/098d7826b6be990a77272c6e
什么是far、near关键字?
near指针和far指针?
在DOS下(实模式)地址是分段的,每一段的长度为64K字节,刚好是16位(二进制的十六位)。
near指针的长度是16位的,所以可指向的地址范围是64K字节,通常说near指针的寻址范围是64K。
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指针指向同一个地址,但是比较的结果却不相同。
什么时候使用far指针?
当使用小代码或小数据存储模式时,不能编译一个有很多代码或数据的程序。因为在64K的一个段中,不能放下所有的代码与数据。为了解决这个问题,需要指定以far函数或far指针来使用这部分的空间(64K以外的空间)。许多库函数就是显式地指定为far函数的形式。far指针通常和farmalloc()这样的内存分配函数一起使用
- 什么是far、near关键字
- 什么是far、near关键字?(转载)
- near far关键字
- C/C++中near和far关键字的区别
- NEAR and FAR pointer
- c++ far near
- c++ far near
- near far huge
- FAR,NEAR区别
- jmp short ,near ,far
- far near指针
- near far(2)
- 有关near和far指针
- near指针和far指针
- near指针和far指针
- c++中far,near区别
- c++中far,near区别
- c++中far,near区别
- Oracle 细粒度审计(FGA)之DBMS_FGA包的实验案例一则
- ASP.NET MVC学习笔记
- asp.net Javascript 的几种写法与提示
- AD同步、用户组、表单认证、扩展web
- C#输出杨辉三角形
- 什么是far、near关键字
- XCode4导入外部Library工程
- 自定义Flex事件,实现组件间传递事件
- 开心网做即时通讯就是在自寻死路!
- JQuery ajax api表单提交
- 黑马程序员_C#基础回顾
- linux编程中遇到的Segmentation fault错误
- FileUpload控件
- codeforces 174B File List 字符串 trick