Иллюстрированный самоучитель по Турбо Паскалю
Интерфейсная часть
Интерфейсная часть открывается зарезервированным словом 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 - во втором) должны следовать сразу за их заголовками в
исполняемой части модуля (не в интерфейсной!). В интерфейсной части модулей нельзя использовать опережающее описание.