Модули
Модуль – хранилище стандартных готовых подпрограмм или данных. Модуль может храниться и компилироваться отдельно. Может использоваться другими программами или модулями путем вызова их подпрограмм по именам. Не используется автономно. Хранится в трех вариантах:
- Модуль на языке FPC, <имя>.pas.
- Компилированный ассемблерный модуль, <имя>.ppu.
- Компилированный объектный модуль, <имя>.o.
Структура модуля:
unit <имя>; // Заголовок модуля
interface
<Интерфейсная часть>
implementation
<Исполняемая часть>
initialization // Не обязательно
<Инициирующая часть>
finalization // Не обязательно
<Завершающая часть>
end.
Имя модуля обязательно, оно используется для связи с вызывающей программой. Должно совпадать с именем файла с кодом модуля на FPC: *.pas. Ссылка на модули в вызывающей программе в строке: uses <список модулей>.
Интерфейсная часть interface содержит:
- Ссылки на внешние модули, используемые в данном модуле.
- Объявления глобальных объектов (типов, констант, переменных).
- Заголовки (только) подпрограмм (функций и процедур).
Инициирующая часть initialization содержит инструкции, которые выполняются до передачи управления вызывающей программе. Например, инициируются переменные, открываются файлы и др.
Завершающая часть finalization содержит инструкции, которые выполняются после завершения работы вызывающей программы. Например, освобождаются выделенные программе ресурсы, закрываются файлы и др.
Признак конца модуля – точка.
Компилятор FPC содержит встроенные модули библиотеки RTL для разных платформ:
- Стандартные. Поддерживают все платформы.
- DOS.
- Windows.
- Linux, BSD.
- OS/2.
Часть стандартных модулей могут включаться пользователем в программмы. Некоторые модули используются неявно, так как ссылки на них есть в используемых пользователем модулях. Основные модули:
Модуль | Назначение |
Classes | Классы для Free Component Library (FCL). |
DateUtils | Набор ПП для типа TDateTime. |
Graph | Графика текста, для совместимости с TP. Не рекомендуется. |
Math | Математика. Расширенные средства. |
Matrix | Матрицы. Массивы с размерностями 2, 3, 4. |
ObjPas |
Объектный Паскаль, совместимый с Delphi.
Загружается автоматически в режиме ObjPas. |
Strings | Строки типа PChar. |
System | Система. Загружается автоматически, ссылок нет. |
SysUtils | Системные утилиты. |































