Реферат: Распределение памяти

выделения памяти в этой области. В рассматриваемых языках нет

явного оператора для освобождения памяти, так что, когда память

исчерпана, система обращается к программе "сбора мусора".

Заметим, что для того, чтобы иметь возможность обнаружить мусор,

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

являются компонентами структурных величин.

Структуры PL/1

Более сложную конструкцию имеют структуры, в которых

компоненты могут сами иметь подкомпоненты. Пример таких

структур - структуры языка PL/1. Такая структура есть дерево,

узлы которого связаны с именами компонент, а концевые узлы

имеют значения данных.

Если бы возможность иметь подкомпоненты была бы

единственным различием между записями по Хоору и структурами

PL/1 не было бы существенной разницы во время выполнения

программы; можно было бы разместить все компоненты и

подкомпоненты так, чтобы каждая имела фиксированное смещение

относительно начала структуры и это смещение было бы известно во

время компиляции. Однако в языке PL/1 существует еще два

расширения. С целью экономии памяти атрибут CELL для компоненты

требует, чтобы все ее подкомпоненты непременно занимали одно и

тоже место в памяти. В любое заданное время только одна из

нескольких переменных может иметь значение. Присваивание значения

подкомпоненте приводит к тому, что подкомпонента, к которой

обращались ранее утрачивает свое значение.

Подобная возможность вызовет осложнения во время компиляции,

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

если только объектная программа не должна проверять при каждом

обращении к подкомпоненте, что значение подкомпоненты

К-во Просмотров: 813
Бесплатно скачать Реферат: Распределение памяти