search 登录 注册
arrow_back返回列表
ID:106008
light_modedark_modestar
Lv.6 胸怀六国志
edit_note帖子 477
stars积分 406,560
event加入 2012-05-02
怀旧国机

函数名: farmalloc

schedule发表于 2012-12-02 17:08:00 visibility查看 142 chat_bubble回复 0
#1 楼主
函数名: farmalloc
功 能: 从远堆中分配存储块
用 法: void far *farmalloc(unsigned long size);
程序例:
#include <stdio.h>
#include <alloc.h>
#include <string.h>
#include <dos.h>
int main(void)
{
char far *fptr;
char *str = “Hello“;
/* allocate memory for the far pointer */
fptr = farmalloc(10);
/* copy “Hello“ into allocated memory */
/*
Note: movedata is used because we might
be in a small data model, in which case
a normal string copy routine can not be
used since it assumes the pointer size
is near.
*/
movedata(FP_SEG(str), FP_OFF(str),
FP_SEG(fptr), FP_OFF(fptr),
strlen(str));
/* * string (note the F modifier) */
printf(“Far string is: %Fs\n“, fptr);
/* free the memory */
farfree(fptr);
return 0;
}

forum
暂无回复,快来抢沙发!
登录 后才能回复