C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 allocmem / a / Библиотечн. функции Borland C++

allocmem

Функция            Выделяет сегмент памяти DOS.

Синтаксис          #include<dos.h>
                   int allocmem(unsigned size, unsigned *segp);

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

Описание           allocmem для выделения блока свободной памяти
                   использует системный вызов DOS 0x48 и возвращает  в
                   качестве   результата  адрес  сегмента  выделенного
                   блока.

                   size - желаемый размер области памяти в  параграфах
                   (параграф  равен  16  байт).  segp  -  указатель на
                   слово,  которому  будет  присвоен  адрес   сегмента
                   нового   выделенного   блока  памяти.  Присваивание
                   адреса слову, указателем которого является segp, не
                   происходит,  если  запрашиваемого количества памяти
                   не имеется в наличии.

                   Все выделяемые блоки выравниваются по параграфам.

                   allocmem и malloc не могут использоваться вместе.

Возвращаемое       allocmem при успешном завершении возвра-
значение           щает значение -1. При возникновении ошибки
                   возвращается число (размер в параграфах наибольшего
                   блока памяти, имеющегося в наличии).

                   Ошибка, возвращаемая   из  allocmem,  устанавливает
                   _doserrno и глобальную переменную errno в

                     ENOMEM - Не хватает памяти

Переносимость      allocmem уникальна для DOS.
                   Функция не поддерживается Windows.

Смотрите также     coreleft,freemem,malloc,setblock.

Пример:

#include<dos.h>
#include<alloc.h>
#include<stdio.h>

int main(void)
{
   unsigned int size,segp;
   int stat;

   size = 64;   /* 64 * 16 = 1024 байта */
   stat = allocmem(size,&segp);
   if(stat == -1)
      printf("Выделен сегмент памяти по адресу %x\n",segp);
   else
      printf("Ошибка! Допустимый максимальный размер = %u\n",stat);
   return 0;
}