Модули и большие программы
До сих пор мы говорили о модулях как о библиотеках - наборах полезных подпрограмм, которые могут использоваться несколькими программами. Однако, у модуля есть еще одна функция - разбивать большую программу на составные части.
Два аспекта Borland Pascal способствуют использованию моду- лей в такой функции:
* высокая скорость компиляции и компоновки;
* способность работать с несколькими файлами одновременно, например, с программой и несколькими модулями.
Обычно большая программа разбивается на модули, которые группируют процедуры по их функциям. Например, программа редакто- ра может быть разделена на части, выполняющие инициализацию, рас- печатку, чтение и запись файлов, форматирование и так далее. Так- же, как имеется основная программа, определяющая глобальные конс- танты, типы данных, переменные, процедуры и функции, так же может иметь место и "глобальный" модуль, который используется всеми другими модулями.
Набросок большой программы-редактора может иметь вид:
program Editor; uses WinCrt, String { стандартные модули из TPW.TPL } EditGlobals, { модули, написанные пользователем } EditInuit, EditPrint, EditRead, EditWrite, EditFormat;
{ описание, процедуры и функции программы } begin { основная программа } end. { конец программы Editor }
Модули в данной программе могут содержаться в TPW.TPL, биб- лиотеке исполняющей системы Windows, или быть отдельными файлами .TPW. В последнем случае Borland Pascal выполняет за вас управле- ние проектом. Это означает, что при перекомпиляции программы Editor с помощью встроенного в компилятор средства формирования Borland Pascal сравнивает даты каждого файла .PAS и .TPW и пере- компилирует любой модуль, исходный код которого перекомпилирован.
Другая причина использования модулей в больших программах состоит в ограничения кодового сегмента. Процессоры 8086 (и родс- твенные им) ограничивают размер сегмента кода 64 килобайтами. Это означает, что основная программа и любой данный сегмент на может превышать 64К. Borland Pascal интерпретирует это, создавая для каждого модуля отдельный сегмент кода. Без этого объем кода вашей программы не мог бы превышать 64К.
Примечание: Подробнее о работе с большими программными проектами рассказывается в Главе 4 "Программирование в ин- тегрированной среде для DOS".