|
Интерфейсная часть
Интерфейсная часть открывается
зарезервированным словом INTERFACE. В этой части содержатся
объявления всех глобальных объектов модуля (типов, констант,
переменных и подпрограмм), которые должны стать доступными
основной программе и/или другим модулям.
При объявлении глобальных подпрограмм в интерфейсной
части указывается только их заголовок, например:
Unit Cmplx;
Interface
tуре
complex = record
re, im : real
end;
Procedure AddC (x, у : complex; var
z : complex);
Procedure MulC (x, у : complex; var
z : complex);
Если теперь в основной программе написать
предложение
Uses Cmplx;
то в программе станут доступными тип
COMPLEX и две процедуры - ADDC и MULC из мдуля CMPLX
Отметим, что объявление подпрограмм
в интерфейсной части автоматически сопровождается их
компиляцией с использованием дальней модели памяти (см.
гл.8). Таким образом обеспечивается доступ к подпрограммам
из основной программы и других модулей. Следует учесть,
что все константы и переменные, объявленные в интерфейсной
части модуля, равно как и глобальные константы и переменные
основной программы, помещаются компилятором Турбо Паскаля
в общий сегмент данных (максимальная длина сегмента
65536 байт). Порядок появления различных разделов объявлений
и их количество может быть произвольным. Если в интерфейсной
части объявляются внешние подпрограммы или подпрограммы
в машинных кодах (см. гл. И), их тела (т.е. зарезервированное
слово EXTERNAL, в первом случае, и машинные коды вместе
со словом INLINE - во втором) должны следовать сразу
за их заголовками в исполняемой части модуля (не в интерфейсной!).
В интерфейсной части модулей нельзя использовать опережающее
описание.
|