Cтраница 1
Дерево двоичного поиска. [1] |
Динамическое выделение памяти резервирует во время выполнения программы блок байтов в памяти для хранения объекта. [2]
Функция выполняет динамическое выделение памяти для массива и присваивает элементам массива нулевые значения. [3]
Рассмотрим примеры динамического выделения памяти. [4]
Второй способ динамического выделения памяти связан с применением процедур GetMem для выделения памяти и FreeMem для ее освобождения. [5]
Еще одним преимуществом динамического выделения памяти перед использованием глобальных переменных является то, что доступ к данным можно получить только из функций, в которых есть доступ к указателю, хранящему нужный адрес. Такой способ доступа позволяет жестко контролировать характер манипулирования данными, а также избегать нежелательного или случайного их изменения. [6]
Функция используется для динамического выделения памяти. [7]
Если ваш тип требует динамического выделения памяти под хранение каких-то данных, надо перегрузить конструктор Create. Остальные методы класса TCustomVariantType - вспомогательные, позволяющие, в основном, реализовать перечисленные выше задачи. [8]
Если ваш тип требует динамического выделения памяти под хранение каких-то данных, надо перегрузить конструктор Create. Остальные методы класса TPublishableVariantType - вспомогательные, позволяющие, в основном, реализовать перечисленные выше задачи. [9]
В программе 3.6 представлен метод динамического выделения памяти массивам, который позволяет использовать программы для различных задач без повторной компиляции. [10]
Управляемый класс памяти расширяет возможности динамического выделения памяти для переменных во время выполнения программы, то есть распределением памяти управляет программист. Сущность использования этого способа выделения памяти для переменных состоит в следующем. [11]
Проблема выбора между статическим или динамическим выделением памяти возникает также для планирования процессов. В некоторых системах, особенно системах реального времени, планирование может быть выполнено заранее статически. Например, авиалинии знают, в котором часу их самолеты будут взлетать, за несколько недель до их фактического отправления. Подобно этому, мультимедийным системам известно заранее, когда запускать те или иные видео -, аудио - и другие процессы. Для универсальных систем общего назначения эти соображения не работают, и планирование должно быть динамическим. [12]
Вопрос выбора между статическим или динамическим выделением памяти возникает и при проектировании структур ядра. Значительно проще, если ядро построено, как единая двоичная программа, загружаемая в память для работы. Следствием такого подхода, однако, является то, что для установки каждого нового устройства ввода-вывода необходима перекомпоновка ядра вместе с драйвером нового устройства. Подобным образом работали ранние версии операционной системы UNIX, что всех устраивало, так как новые устройства ввода-вывода добавлялись к мини-компьютерам довольно редко. Сегодня большинство операционных систем позволяют динамически добавлять программы в ядро, со всеми дополнительными сложностями, которые такой подход влечет за собой. [13]
Проблема выбора между статическим или динамическим выделением памяти возникает также для планирования процессов. В некоторых системах, особенно системах реального времени, планирование может быть выполнено заранее статически. Например, авиалинии знают, в котором часу их самолеты будут взлетать, за несколько недель до их фактического отправления. Подобно этому, мультимедийным системам известно заранее, когда запускать те или иные видео -, аудио - и другие процессы. Для универсальных систем общего назначения эти соображения не работают, и планирование должно быть динамическим. [14]
Вопрос выбора между статическим или динамическим выделением памяти возникает и при проектировании структур ядра. Значительно проще, если ядро построено, как единая двоичная программа, загружаемая в память для работы. Следствием такого подхода, однако, является то, что для установки каждого нового устройства ввода-вывода необходима перекомпоновка ядра вместе с драйвером нового устройства. Подобным образом работали ранние версии операционной системы UNIX, что всех устраивало, так как новые устройства ввода-вывода добавлялись к мини-компьютерам довольно редко. Сегодня большинство операционных систем позволяют динамически добавлять программы в ядро, со всеми дополнительными сложностями, которые такой подход влечет за собой. [15]