_graphfreemem
raw OCR
User hook into graphics memory deallocation.
Defined in header <graphics.h>
Syntax
#include <graphics.h>
void far _graphfreemem(void far *ptr, unsigned size);
Portability
| DOS | UNIX | Windows | ANSI C | C++ only |
|---|---|---|---|---|
| ■ |
Remarks
The graphics Hbrary calls _graphfreemem to release memory previously allocated through _graphgetmem. You can choose to control the graphics library memory management by simply defining your own version of _graphfreemem (you must declare it exactly as shown in the declaration). The default version of this routine merely calls free.
Return value
None.
See also
Example
#include <graphics.h>
#include <stdlib.h>
iinclude <stdio.h>
#include <conio.h>
#include <alloc.h>
int main(void)
/* request autodetection */
int gdriver = DETECT, gmode, errorcode, midx, midy;
/* clear the text screen */
clrscr0 ;
printf("Press any key to initialize graphics mode:");
getchO ;
clrscr0 ;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult ();
if (errorcode != grOk) { /* an error occurred */
printf("Graphics error: %s\n", grapherrormsg (errorcode));
printf("Press any key to halt:");
getchO ;
exit(l); /* terminate with an error code */
}
midx = getmaxxO / 2;
midy = getmaxyO / 2;
/* display a message */
settext]UStify(CENTER_TEXT, CENTER_TEXT) ;
outtextxy(midx, midy, "Press any key to exit graphics mode:")
/* clean up */
getchO ;
closegraphO ;
return 0;
/* called by the graphics kernel to allocate memory */
void far * far _graphgetmem (unsigned size) {
printf("_graphgetmem called to allocate %d bytes.\n"
printfC'hit any key:");
getchO ;
printf("\n");
/* allocate memory from far heap */
return farmalloc(size);
}
/* called by the graphics kernel to free memory */
void far _graphfreemem(void far *ptr, unsigned size) {
printf("_graphfreemem called to free %d bytes. \n
printfC'hit any key:");
getchO ;
printf("\n");
/* free ptr from far heap */
farfree(ptr);
Differences from modern implementations
Nothing recorded yet.
Modern references
These are search links, not yet checked by hand.
Stable link: /3.1/graphics.h/_graphfreemem/
· short form /3.1/_graphfreemem/