[c]代码库
#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 ) );
/* display string (note the F modifier) */
printf ( "Far string is: %Fs\n", fptr );
/* free the memory */
farfree ( fptr );
return 0;
}