Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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; Нарушение авторских прав |