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;
}
功 能: 从远堆中分配存储块
用 法: 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
暂无回复,快来抢沙发!
登录 后才能回复
flag举报帖子