Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

_graphfreemem

_graphfreemem


Функция            Пользователь освобождает графическую память.

Синтаксис          #include <graphics.h>
                   void far _graphfreemem(void var
                    *ptr,unssigned size);

Файл, содержащий   graphics.h
прототип

Описание           Графическая библиотека вызывает _graphfreemem  для
                   освобождения   памяти,  ранее  занятой  с  помощью
                   _graphgetmem.  Вы можете управлять  распределением
                   памяти графической библиотеки посредством простого
                   определения вашей собственной версии _graphfreemem
                   (вы  должны  определить  ее  так,  как  показано в
                   описании).  Начальная версия этой прграммы  просто
                   вызывает free.

Возвращаемое       Нет.
значение

Переносимость      Функция уникальна для Borland  C++.  Она  работает
                   только на компьютерах IBM PC и совместимых с ними,
                   оснащенных дисплейными адаптерами, поддерживающими
                   графический   режим.   Функция   не  совместима  с
                   Windows.

Смотрите также     _graphgetmem, setgraphbufsize.

Пример:

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

#define NONSENSE -50

int main(void)
{
/* Инициация ошибки */
int graphdriver = NONSENSE, gmode, errorcode;
int midx,midy;

/* обнуление текстового экрана */
clrscr();
printf("Для инициализацмм графики нажмите любую клавишу...");
getch();
clrscr();

/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */
errorcode = graphresult();

/* выдать соответствующее ошибке сообщение */
if(errorcode != grOk)  /* если ошибка */
{
   printf("Ошибка :%s\n",grapherrormessage(errorcode));
   printf("Для останова нажмите любую клавишу\n");
   getch();
   exit(1);  /* завершение с кодом ошибки */
}
midx = getmaxx()/2;
midy = getmaxy()/2;
/* вывести сообщение */
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(midx,midy,"Для выхода из графического режима
                       нажмите любую клавишу ");
/* очистка */
getch();
closegraph();
return 0;
}
/* вызывается ядром графической системы для выделения памяти */
void far *far _graphgetmem(unsigned size)
{
   printf("Вызвана _graphgetmem для выделения %d байт\n",size);
   printf("Нажмите любую клавишу:");
   getch();
   printf("\n");
   /* выделить память */
   return farmalloc(size);
}
/* вызывается ядром графической системы для освобождения памяти */
void far _graphfreemem(void far *ptr, unsigned size)
{
   printf("Вызвана _graphfreemem для освобождения %d байт\n",size);
   printf("Нажмите любую клавишу:");
   getch();
   printf("\n");
   /* освободить память */
   return farfree(ptr);
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог