Функции calloc и malloc выделяют блоки памяти, функция malloc выделяет заданное число байтов, тогда как calloc выделяет и инициализирует нулями массив элементов заданного размера.
Функции _fmalloc и _nmalloc подобны malloc, за исключением того, что _fmalloc и _nmalloc позволяют выделить блок байтов в том случае, когда существуют ограничения адресного пространства текущей модели памяти. Функция halloc выполняется аналогично calloc, но halloc выделяет память для большого массива (больше 64 К).
Функции realloc и _expand изменяют размер полученного блока.
Функция free (для calloc, malloc и realloc), функция ffree (для _fmalloc), функция _nfree (для _nmalloc) и функция hfree (для halloc) освобождают память, которая была выделена ранее, и делают ее доступной для последующего распределения.
Функции _freect и _memavl определяют: сколько памяти доступно для динамического выделения в заданном сегменте; _freect возвращает примерное число областей заданного размера, которые могут быть выделены; _memavl возвращает общее число байтов, доступных для выделения.
Функции _msize (для calloc, malloc, realloc и _expand), _fmsize (для _fmalloc) и _nmsize (для _nmalloc) возвращают размер ранее выделенного блока памяти.
Функция sbrk — это функция нижнего уровня для получения памяти. Вообще говоря, программа, которая использует функцию sbrk, не должна использовать другие функции выделения памяти, хотя их использование не запрещено.
Все выше описанные функции распределяли области памяти из общей памяти. Система программирования MSC предоставляет 2 функции, alloca и stackavail, для выделения памяти из стека и определения количества доступной памяти в стеке.
Использование системных вызовов операционной системы MS-DOS
Функция | Краткое описание |
bdos | вызов системы MS-DOS; используются только регистры DX и AL |
dosexterr | получение значений регистров из системы MS-DOS вызовом 59H |
FP_OFF | возвращает смещение far-указателя |
FP_SEG | возвращает сегмент far-указателя |
int86 | вызов прерывания MS-DOS |
int86x | вызов прерывания MS-DOS |
intdos | системный вызов MS-DOS |
intdosx | системный вызов MS-DOS |
segread | возвращает текущее значение сегментных регистров |
Прототипы функций и макроопределения содержатся в файле dos.h.
Система программирования MSC предоставляет дополнительно функции:
Функция | Краткое описание |
inp | чтение с указанного порта в/в |
outp | вывод в указанный порт в/в |
Прототипы функций inp и outp содержатся в файле conio.h.
Система программирования ТС предоставляет дополнительно следующие функции: