Расположение модуля и ссылка на него

Лекция № 19

4.13. Модули.

 

Модуль - это отдельно компилируемая, специальным образом оформленная программная единица, которая может содержать описание типов данных, описание переменных процедуры и функции. Модуль - это мощное средство для создания библиотек прикладных подпрограмм.

Расположение модуля и ссылка на него.

Модуль транслируется отдельно от программы и размещается в отдельном сегменте памяти. Для того чтобы можно было использовать в программе тот или иной модуль, необходимо указать его имя в разделе модулей, который располагается сразу после заголовка программы и обозначается ключевым словом Uses.

Например, запись вида

Program Pm1;

Uses Mtx, Mfa ;

означает, что в программе Pm1 используется два модуля : Mtx и Mfa.

Правило. Если какой либо модуль в списке модулей использует другие модули из этого списка, то он должен быть указан после всех используемых модулей. Смысл использования модулей заключается в том, что при трансляции программы составные части модуля будут помещены в соответствующие разделы программы.

Структура модуля.

Unit <имя> ; - заголовок модуля

interface

. . . . . . . . . . . интерфейсная часть

implementation

. . . . . . . . . . . . исполняемая часть

initialization

. . . . . . инициирующая часть (необязательна)

finalization

. . . . . . . . . . завершающая часть

END.

Здесь Unit (единица) – зарезервированное слово; <имя> - имя модуля (формируется пр общим правилам); interface (интерфейс), implementation (выполнение), initialization (инициализация), finalization (завершение) – зарезервированные слова, открывающие соответствующие разделы модуля. Как видно из структуры модуль состоит из заголовка и четырех разделов любой из которых может быть пустым.

 

Составные части модуля.

Unit Global ; то текст модуля должен быть помещен в файл Global . pas .

Интерфейсная секция.

n модули, используемые данным модулем; n константы , типы данных, переменные; n заголовки процедур и функций.

Секция реализации (implementation).

При записи подпрограмм заголовки процедур и функций можно указывать без описания списка формальных параметров. Но если заголовок подпрограммы… Инициализирующая секция предназначена для размещения операторов, которые… Завершающая секция предназначена для указания операторов, которые выполняются после завершения работы основной…