Иллюстрированный самоучитель по Tirbo Pascal



              

Компиляция модулей - часть 2


В режиме BUILD существующие TPU-файлы игнорируются, и система пытается отыскать (и компилировать) соответствующий РAS-файл для каждого объявленного в предложении USES модуля. После компиляции в режиме BUILD программист может быть уверен в том, что учтены все сделанные им изменения в любом из модулей.

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

косвенное обращение модуля к самому себе. Например, недопустимы следующие объявления:

Unit A;              Unit В; 

Interface            Interface

Uses В;              Uses А;

.......              .......

Implementation       Implementation 

.......              .......

end.                 end.

Это ограничение можно обойти, если «спрятать» предложение USES в исполняемые части зависимых модулей:

Unit A;              Unit В; 

Interface            Interface

.......              .......

Implementation       Implementation 

Uses B;              Uses A;

......               .......

end.                 end.

Дело в том, что Турбо Паскаль разрешает ссылки на частично откомпилированные модули, что приблизительно соответствует опережающему описанию подпрограммы. Если интерфейсные части любых двух модулей независимы (это непременное условие!), Турбо Паскаль сможет идентифицировать все глобальные идентификаторы в каждом из модулей, после чего откомпилирует тела модулей обычным способом.




Содержание  Назад  Вперед