TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

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

Странности

FAQ

Ссылки

Форум

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

Рассылка

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

Об авторе

 

 

Описания near и far 

             Borland Pascal  поддерживает  две  модели  вызова процедур -
        ближнюю (near) и дальнюю (far). С точки зрения объема программы и
        скорости выполнения ближняя модель вызова более эффективна,  но с
        ней связаны ограничения:  процедуры типа  near  могут  вызываться
        только в том модуле,  где они описаны. Процедуры же с дальним ти-
        пом вызова можно вызывать из любого модуля,  но они несколько ме-
        нее эффективны.

                   Примечание: О вызовах ближнего и дальнего типа расска-
              зывается в Главе 22 "Вопросы управления".

             На основе описания процедуры компилятор будет  автоматически
        выбирать правильную модель вызова.  Для процедур, описанных в ин-
        терфейсной части модуля (interface),  используется дальняя модель
        вызова - их можно вызывать из других модулей.  Процедуры, описан-
        ные в секции реализации модуля  (implementation),  имеют  ближний
        тип вызова. Вызываться они могут только из программ данного моду-
        ля.

             Для некоторых  специальных целей может потребоваться исполь-
        зовать модель с дальним типом вызова.  Например, в оверлейных за-
        дачах обычно требуется, чтобы все процедуры и функции имели даль-
        ний  тип  вызова.  Аналогично,   если   процедура   или   функция
        присваивается процедурной переменной, то она также должна исполь-
        зовать дальний тип вызова.  Чтобы  переопределить  автоматический
        выбор  модели  вызова компилятором,  можно использовать директиву
        компилятора {$F+}. Процедуры и функции, компилируемые в состоянии
        {$F+}, всегда будут иметь дальний тип вызова (far), а в состоянии
        {$F-} компилятор автоматически  выбирает  корректную  модель.  По
        умолчанию используется директива {$F-}.

             Чтобы задать конкретную модель вызова,  в описании процедуры
        перед ее блоком можно указать директиву near или far. При наличии
        такой директивы она переопределяет директиву $F компилятора и ав-
        томатический выбор модели вызова.

Содержание

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

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

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

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

Hosted by uCoz