Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Управление памятью





 

 

Функция CALLOC весьма сходна с функцией ALLOC, использо-

ванной нами в предыдущих главах. В результате обращения

 

CALLOC(N, SIZEOF(OBJCCT))

 

возвращается либо указатель пространства, достаточного для

размещения N объектов указанного размера, либо NULL, если

запрос не может быть удволетворен. Отводимая память инициа-

лизируется нулевыми значениями.

Указатель обладает нужным для рассматриваемых объектов

выравниванием, но ему следует приписывать соответствующий

тип, как в

 

CHAR *CALLOC();

INT *IP;

IP=(INT*) CALLOC(N,SIZEOF(INT));

 

Функция CFREE(P) освобождает пространство, на которое

указывает "P", причем указатель "P" певоначально должен быть

получен в результате обращения к CALLOC. Здесь нет никаких

ограничений на порядок освобождения пространства, но будет

неприятнейшей ошибкой освободить что-нибудь, что не было по-

лучено обращением к CALLOC.

Реализация программы распределения памяти, подобной

CALLOC, в которой размещенные блоки могут освобождаться в

произвольном порядке, продемонстрирована в главе 8.

 

 

* 8. Интерфейс системы UNIX *

 

Материал этой главы относится к интерфейсу между с-прог-

раммами и операционной системой UNIX. Так как большинство

пользователей языка "C" работают на системе UNIX, эта глава

окажется полезной для большинства читателей. даже если вы

используете с-компилятор на другой машине, изучение приводи-

мых здесь примеров должно помочь вам глубже проникнуть в ме-

тоды программирования на языке "C".

Эта глава делится на три основные части: ввод/вывод,

система файлов и распределение памяти. Первые две части

предполагают небольшое знакомство с внешними характеристика-

ми системы UNIX.

В главе 7 мы имели дело с системным интерфейсом, который

одинаков для всего многообразия операционных систем. На каж-

дой конкретной системе функции стандартной библиотеки должны

быть написаны в терминах ввода-вывода, доступных на данной

машине. В следующих нескольких разделах мы опишем основную

систему связанных с вводом и выводом точек входа операцион-

ной системы UNIX и проиллюстрируем, как с их помощью могут

быть реализованы различные части стандартной библиотеки.

 

 







Date: 2015-09-17; view: 364; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию