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

Ваш аккаунт

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

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

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

_graphgetmem

_graphgetmem


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

Синтаксис          #include <graphics.h>
                   void far _graphgetmem(unsigned size);

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

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

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

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

Смотрите также     _graphfreemem, initgraph, 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) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог