TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Косвенные ссылки на модули 

             В операторе uses в  основной  программе  должны  содержаться
        имена всех модулей, непосредственно или косвенно используемых ос-
        новной программой. Рассмотрим следующий пример:

             Program Prog;
             uses Unit1, Unit2
             const a = b;
             begin
             end.
             end.

             unit Unit2;
             interface
             uses Unit1;
             const b = c;
             implementation
             end.

             unit Unit1;
             interface
             const c = 1;
             implementation
             const d = 2;
             end;

             В данном примере Unit12 непосредственно зависит от Unit1,  а
        Prog непосредственно зависит от Unit2.  Кроме того,  Prog зависит
        косвенно от Unit1 (через Unit1),  хотя ни  один  из  описанных  в
        Unit1 идентификаторов в Prog не доступен.

             Для компиляции программы компилятор должен иметь возможность
        находить все модули,  от которых она прямо или косвенно  зависит.
        Поэтому, для  компиляции Prog компилятор должен иметь возможность
        найти и Unit1, и Unit2, иначе возникнет ошибка.

             Когда в интерфейсную часть модуля вносятся изменения, другие
        модули,  использующие этот модуль, должны быть заново скомпилиро-
        ваны. При использовании команд Make или Build  компилятор  делает
        это автоматически. Однако, если изменения коснулись только секции
        реализации или секции инициализации,  то другие модули, в которых
        используется этот модуль,  перекомпилировать не нужно. В предыду-
        щем примере,  если интерфейсная  часть  модуля  Unit1  изменилась
        (например, с = 2), то модуль Unit2 нужно перекомпилировать. Изме-
        нение же секции реализации (например,  d = 1) не требует переком-
        пиляции Unit2.

             При компиляции модуля в Borland Pascal на основе контрольной
        суммы интерфейсной секции вычисляется номер версии модуля. В пре-
        дыдущем  примере  при  компиляции модуля Unit2 в скомпилированной
        версии модуля Unit2 сохраняется номер версии  модуля  Unit1.  При
        компиляции основной программы номер версии модуля Unit1 сравнива-
        ется с номером версии,  сохраненным в модуле Unit2.  Если  номера
        версий  не  совпадают,  что свидетельствует об изменении в интер-
        фейсной части модуля Unit1 со времени последней компиляции модуля
        Unit2, компилятор, в зависимости от режима компиляции, выдает со-
        общение об ошибке или перекомпилирует модуль Unit2 (в зависимости
        от режима компиляции).

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz