Основы алгоритмизации и программирования. Часть четвертая. Файловая система Turbo Pascal. Асламова В.С - 34 стр.

UptoLike

67
Если вы желаете поместить файл модуля с расширением .tpu не в те-
кущей, а в заданной директории, то для этого необходимо выполнить
следующие команды:
F10/Option/Directories/Unit directories {указать путь к директории в
прямоугольнике с таким заголовком}
Ещё один способ создания файла модуля с расширением .tpu (или объ-
ектного модуля) состоит в следующем. Для параметра comile/destination
при
помощи клавиши Enter следует установить значение disk и запустить модуль
на выполнение командой Ctl+F9 (Run). При этом осуществляется компиляция
модуля. Компилятор Turbo Pascal 7.0 распознаёт в начале текста модуля слу-
жебное слово unit и автоматически создаёт файл с расширением .tpu вместо
файла с расширением .exe (как для обычных программ). Сообщение, которое
появится при этом на экране дисплея «can not run unit», просто информирует
вас
о том, что модуль самостоятельно не выполняется.
Построение программ
по модульному принципу
Если программа превышает определённый объём или необходимо что-
бы одновременно несколько человек работало над программой, можно
разбить программу на части. Такое разбиение программы называется по-
строением её по модульному принципу. При этом можно выделить три
ступени:
9 разбиение на модули исходной программы;
9 разбиение на модули программы в объектных кодах;
9 раздельная трансляция модулей исходной программы.
9 Разбиение исходной программы на модули
Это самый простой этап построения программы по модульному прин-
ципу. Исходный текст хранится в нескольких файлах. Это лишь упрощает
работу с редактором текстов программ. В основной программе, являющейся
как быкаркасом программы”, с помощью директив компиляторувста-
вить”(Include или Insert) обращаются к подпрограммам. Такая директива в
Турбо Паскале имеет вид
{$I
имя модуля}
68
В результате короткая графическая программа (с использованием гра-
фических стандартных средств) или система управления файлами (со
средствами управления базы данных) оказывается длинной в несколько ты-
сяч строк. И тогда даже самый быстрый компилятор Турбо Паскаля
оказывается не столь уж быстрым.
9 Разбиение на модули объектной программы (оверлей)
Под оверлейным модулем понимают часть программы в объектных ко-
дах, которая загружается в оперативную память лишь на время её обработки.
Путём разбиения объектной программы на оверлейные модули можно до-
биться использования одной и той же области памяти несколькими
модулями поочерёдно. В результате программа, не компилирующаяся цели-
ком в оперативной памяти, будет
работоспособной
В Турбо Паскале версии 3.0 процедуры и функции можно снабжать за-
головком overlay. Такой заголовок означает, что компилятор помещает
объектные коды не в тот файл, в котором записана программа, а в особый, так
называемый оверлейный файл, из которого во время выполнения программы
вызываются отдельные модули. Поскольку в версии 4.0 существует возмож-
ность
раздельной трансляции модулей, формирование оверлейных структур
там не предусмотрено. В версии 5.0 оверлейная структура в форме модулей
вновь существует.
9 Раздельная трансляция исходных модулей
Подлинное разбиение на модули означает, что исходный текст про-
граммы можно компилировать по частям. Тогда после компиляции исходной
программы, содержащей вызовы модулей, компилятор включит их в сгенери-
рованный объектный код. Для этого должны выполняться две предпосылки:
1.
Компилятор должен быть в состоянии оттранслировать исходный
текст, не являющийся полной программой. Такие части программы называ-
ются модулями или units.
2.
Должен иметься компоновщик, который после компиляции програм-
мы, содержащей ссылки на оттранслированные ранее модули и не
являющейся полной программой, добавит эти модули в сгенерированный
объектный код.
Так как компоновщик добавляет объектный код, вовсе не обязательно,
чтобы тот был результатом трансляции написанного на Паскале модуля, т.е.
такие модули можно писать и
на других языках.
       Если вы желаете поместить файл модуля с расширением .tpu не в те-             В результате короткая графическая программа (с использованием гра-
кущей, а в заданной директории, то для этого необходимо выполнить             фических стандартных средств) или система управления файлами (со
следующие команды:                                                            средствами управления базы данных) оказывается длинной в несколько ты-
       F10/Option/Directories/Unit directories {указать путь к директории в   сяч строк. И тогда даже самый быстрый компилятор Турбо Паскаля
прямоугольнике с таким заголовком}                                            оказывается не столь уж быстрым.
       Ещё один способ создания файла модуля с расширением .tpu (или объ-     � Разбиение на модули объектной программы (оверлей)
ектного модуля) состоит в следующем. Для параметра comile/destination при            Под оверлейным модулем понимают часть программы в объектных ко-
помощи клавиши Enter следует установить значение disk и запустить модуль      дах, которая загружается в оперативную память лишь на время её обработки.
на выполнение командой Ctl+F9 (Run). При этом осуществляется компиляция       Путём разбиения объектной программы на оверлейные модули можно до-
модуля. Компилятор Turbo Pascal 7.0 распознаёт в начале текста модуля слу-    биться использования одной и той же области памяти несколькими
жебное слово unit и автоматически создаёт файл с расширением .tpu вместо      модулями поочерёдно. В результате программа, не компилирующаяся цели-
файла с расширением .exe (как для обычных программ). Сообщение, которое       ком в оперативной памяти, будет работоспособной
появится при этом на экране дисплея «can not run unit», просто информирует           В Турбо Паскале версии 3.0 процедуры и функции можно снабжать за-
вас о том, что модуль самостоятельно не выполняется.                          головком overlay. Такой заголовок означает, что компилятор помещает
                                                                              объектные коды не в тот файл, в котором записана программа, а в особый, так
                        Построение программ                                   называемый оверлейный файл, из которого во время выполнения программы
                                                                              вызываются отдельные модули. Поскольку в версии 4.0 существует возмож-
                       по модульному принципу
                                                                              ность раздельной трансляции модулей, формирование оверлейных структур
                                                                              там не предусмотрено. В версии 5.0 оверлейная структура в форме модулей
      Если программа превышает определённый объём или необходимо что-         вновь существует.
бы одновременно несколько человек работало над программой, можно              � Раздельная трансляция исходных модулей
разбить программу на части. Такое разбиение программы называется по-                 Подлинное разбиение на модули означает, что исходный текст про-
строением её по модульному принципу. При этом можно выделить три              граммы можно компилировать по частям. Тогда после компиляции исходной
ступени:                                                                      программы, содержащей вызовы модулей, компилятор включит их в сгенери-
      � разбиение на модули исходной программы;                               рованный объектный код. Для этого должны выполняться две предпосылки:
      � разбиение на модули программы в объектных кодах;                             1. Компилятор должен быть в состоянии оттранслировать исходный
      � раздельная трансляция модулей исходной программы.                     текст, не являющийся полной программой. Такие части программы называ-
                                                                              ются модулями или units.
�   Разбиение исходной программы на модули                                           2. Должен иметься компоновщик, который после компиляции програм-
       Это самый простой этап построения программы по модульному прин-        мы, содержащей ссылки на оттранслированные ранее модули и не
ципу. Исходный текст хранится в нескольких файлах. Это лишь упрощает          являющейся полной программой, добавит эти модули в сгенерированный
работу с редактором текстов программ. В основной программе, являющейся        объектный код.
как бы “каркасом программы”, с помощью директив компилятору “вста-                   Так как компоновщик добавляет объектный код, вовсе не обязательно,
вить”(Include или Insert) обращаются к подпрограммам. Такая директива в       чтобы тот был результатом трансляции написанного на Паскале модуля, т.е.
Турбо Паскале имеет вид                                                       такие модули можно писать и на других языках.
      {$I имя модуля}


                                    67                                                                            68