3.2.1.6. Подведение итогов из GNU Coding Standards

3.2.1.6. Подведение итогов из GNU Coding Standards

Чтобы подвести итоги, процитируем, что говорит об использовании процедур выделения памяти GNU Coding Standards:

Проверяйте каждый вызов malloc или realloc на предмет возвращенного нуля. Проверяйте realloc даже в том случае, если вы уменьшаете размер блока; в системе, которая округляет размеры блока до степени двойки, realloc может получить другой блок, если вы запрашиваете меньше памяти.

В Unix realloc может разрушить блок памяти, если она возвращает ноль. GNU realloc не содержит подобной ошибки: если она завершается неудачей, исходный блок остается без изменений. Считайте, что ошибка устранена. Если вы хотите запустить свою программу на Unix и хотите избежать потерь в этом случае, вы можете использовать GNU malloc.

Вы должны считать, что free изменяет содержимое освобожденного блока. Все, что вы хотите получить из блока, вы должны получать до вызова free.

В этих трех коротких абзацах Ричард Столмен (Richard Stallman) выразил суть важных принципов управления динамической памятью с помощью malloc(). Именно использование динамической памяти и принцип «никаких произвольных ограничений» делают программы GNU такими устойчивыми и более работоспособными по сравнению с их Unix-двойниками.

Мы хотим подчеркнуть, что стандарт С требует, чтобы realloc() не разрушал оригинальный блок памяти, если она возвращает NULL.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Подведение итогов

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Подведение итогов Вопросы для самопроверки? Для чего используются файловые менеджеры?? Назовите основные особенности программы Total Commander.? Как в файловом менеджере выполняется копирование или перемещение файлов?? Какие возможности предоставляет Total Commander для работы с


Подведение итогов

Из книги Linux программирование в примерах автора Роббинс Арнольд

Подведение итогов Вопросы для самопроверки? Для чего предназначен Проигрыватель Windows Media?? Какие возможности по управлению воспроизведением имеются в Проигрывателе Windows Media?? Какие режимы работы проигрывателя вы знаете?? Как можно добавлять новые композиции в библиотеку??


Подведение итогов

Из книги автора

Подведение итогов Вопросы для самопроверки? Сравните окна программы Word и Проводник. Что у них общего? В чем различие?? Какие приемы для настройки интерфейса Word вам известны?? Как узнать назначение какой-либо кнопки на ленте?? Какая разница между параметрами Размер шрифта и


Подведение итогов

Из книги автора

Подведение итогов Вопросы для самопроверки? Каким способом лучше всего открыть недавно сохраненный документ?? Как в Word можно выделить слово, строку, предложение, абзац?? Какая разница между буферами обмена Windows и Microsoft Office?? Всегда ли в слове, подчеркнутом красной линией,


Подведение итогов

Из книги автора

Подведение итогов Вопросы для самопроверки? Назовите основные параметры шрифтов.? Какие дополнительные возможности для форматирования символов имеются в окне Формат ? Шрифт?? Приведите примеры использования различных способов выравнивания в абзацах.? Какими способами


Подведение итогов

Из книги автора

Подведение итогов Вопросы для самопроверки? Какие преимущества дает использование стилей?? Как создать новый стиль?? Для чего нужны стили заголовков?? Как создать оглавление документа?? Какие параметры форматирования изменяются при выборе новой темы документа?? Для чего


Подведение итогов

Из книги автора

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


Подведение итогов

Из книги автора

Подведение итогов Вопросы для самопроверки? Когда лучше вставлять таблицу, а когда – рисовать?? Как создавать таблицы сложной структуры?? Как перемещать курсор по ячейкам таблицы?? Как выделить ячейку, строку, столбец, таблицу?? Какими способами можно изменять формат


Подведение итогов

Из книги автора

Подведение итогов Вопросы для самопроверки? В чем разница между векторным и растровым представлением графики?? Что означают и для чего используются маркеры, ограничивающие выделенную фигуру?? Как настроить взаимное положение нескольких фигур?? Какие эффекты можно


Подведение итогов

Из книги автора

Подведение итогов Вопросы для самопроверки? Как вставить рисунок в документ?? Как найти картинку на определенную тему?? Чем различается форматирование растровых и векторных рисунков?? Как можно изменить внешний вид помещенного в документ объекта WordArt?? Для чего


Подведение итогов

Из книги автора

Подведение итогов Вопросы для проверки? Для чего предназначена программа Excel?? Что означают основные термины электронных таблиц: книга, лист, ячейка, строка, столбец, ссылка?? В чем сходство и различие окон программ Excel и Word?? Как запустить Excel и перемещаться по листу?? Как


Подведение итогов

Из книги автора

Подведение итогов Вопросы для проверки? Что такое диапазоны ячеек и как они обозначаются?? Как выделить несколько смежных ячеек? Как выделить несколько несмежных ячеек?? В чем разница между очисткой и удалением ячеек?? Сколько способов копирования ячеек вы знаете? Опишите


Подведение итогов

Из книги автора

Подведение итогов Вопросы для проверки? Как в Excel представляются и обрабатываются числа?? Какие существуют особенности ввода данных при использовании общего формата?? Как изменять представление чисел в ячейках?? Что такое формула? Каковы правила создания формул?? Как


Подведение итогов

Из книги автора

Подведение итогов Вопросы для проверки? Какая разница между абсолютными и относительными ссылками на ячейки?? Какие преимущества дает использование имен для ячеек и диапазонов?? Как создать имя и как его удалить?? Что такое функция, аргументы функции?? Как вводить функции


Подведение итогов

Из книги автора

Подведение итогов Вопросы для проверки? Какие типы встроенных стилей вы знаете?? Как создать новый стиль?? Какие возможности форматирования ячеек доступны в Excel?? Как открыть окно Формат ячеек?? Сравните возможности форматирования таблиц в Word и Excel.? Как в Excel автоматически


1.4.5. Заключительные соображения по поводу «GNU Coding Standards»

Из книги автора

1.4.5. Заключительные соображения по поводу «GNU Coding Standards» GNU Coding Standards является стоящим для прочтения документом, если вы хотите разрабатывать новое программное обеспечение GNU, обмениваться существующими программами GNU или просто научиться программировать лучше. Принципы