graphics.h


Función _graphfreemem Borland® C

void far _graphfreemem(void far *ptr, unsigned tamanyo);

Esta función es usada por la biblioteca gráfica para desadjudicar memoria previamente reservada mediante una llamada a la función graphgetmem. Esta función es llamada por la biblioteca gráfica cuando se quiere liberar memoria. Por defecto, la función simplemente llama a free, pero se puede controlar la administración de memoria de la biblioteca gráfica. La forma de hacer esto es simplemente creando la definición de la función, con el mismo prototipo mostrado aquí.

Valor de retorno:

La función _graphfreemem no retorna ningún valor.

Ejemplo:

#include <graphics.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

void far _graphfreemem( void far *ptr, unsigned tamanyo ) {
   printf( "__graphfreemem ha sido llamado para "
      "desadjudicar %d bytes en memoria\n" );
   printf( "para el montón (heap) interno\n", tamanyo );
   printf( "Pulse cualquier tecla...\n\n" );
   getch();
   free( ptr );
}

void far * far _graphgetmem( unsigned tamanyo ) {
   printf( "__graphgetmem ha sido llamado para "
      "adjudicar %d bytes en memoria\n" );
   printf( "para el montón (heap) interno\n", tamanyo );
   printf( "Pulse cualquier tecla...\n\n" );
   getch();
   return malloc( tamanyo );
}

int main() {
   int gdriver = EGA;
   int gmodo = EGAHI;

/* Si has registrado los dispositivos para que formen parte de graphics.lib
** entonces usa estas sentencias:

   registerbgidriver( EGAVGA_driver );
   initgraph( &gdriver, &gmodo, "" );
*/

/* Si no, entonces has de "decir" dónde se encuentra el dispositivo gráfico */

   initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" );

   circle( 200, 100, 50 );

   getch();
   closegraph();

   return 0;
}