TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

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

Странности

FAQ

Ссылки

Форум

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

Рассылка

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

Об авторе

 

 

Администратор оверлеев 

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

             Для реализации  улучшенных  методов   управления   оверлеями
        Borland Pascal требует от вас при написании программы,  в которой
        используются оверлеи, соблюдать два важных правила:

             1.  Все оверлейные модули должны содержать  директиву {$O+},
                 приводящую к тому, что компилятор обеспечивает генериро-
                 вание оверлейного кода.

             2.  При  каждом обращении к оверлейной процедуре или функции
                 вы должны обеспечить использование всеми активными  про-
                 цедурами и функциями вызовов типа FAR (дальний тип вызо-
                 ва).

             Оба правила будут поясняться далее в разделе  под заголовком
        "Разработка оверлейных программ".  Сейчас мы просто отметим,  что
        вы можете легко удовлетворить  эти  правила,  поместив  в  начале
        оверлейных  модулей  директиву  компилятора {$O+,F+},  а в начале
        всех других модулей и основной программы - директиву {$F+}.

                   Примечание: Несоблюдение  требования обеспечения даль-
              него типа вызова в оверлейной программе вызовет  непредска-
              зуемые  и возможно катастрофические результаты при выполне-
              нии программы.

             Директива компилятора  {$O  имя_модуля} используется в прог-
        рамме для указания того,  какой из модулей будет оверлейным.  Эта
        директива должна размещаться за оператором uses программы, в кото-
        ром перед именами всех других оверлейных  модулей  должно  указы-
        ваться  имя стандартного модуля Overlay.  Приведем следующий при-
        мер:

             program Editor;
             {$F+}           { Все процедуры и функции будут использовать
                               дальний тип вызова }
             uses
               Overlay, Crt, Dos, EdInOut, EdFormat, EdPrint, EdFind,
                EdMain;
             {$O EdInOut }
             {$O EdFormat }
             {$O EdPrint }
             {$O EdFind }
             {$O EdMain }

             Если вы  пытаетесь  использовать  в качестве оверлейного мо-
        дуль, при компиляции которого не была указана директива {$O+}, то
        компилятор выведет сообщение об ошибке.  Что касается стандартных
        модулей, то оверлейным может быть только модуль Dos. Другие стан-
        дартные  модули не могут использоваться в качестве оверлейных.  К
        тому же программы,  содержащие оверлейные модули, при использова-
        нии IDE реального режима должны компилироваться на диск.  Если вы
        пытаетесь выполнить компиляцию таких программ в память, то компи-
        лятор выводит сообщение об ошибке.

Содержание

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

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

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

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

Hosted by uCoz