Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Использование модулей. Режимы Compile, Build и Make при компиляции модулей



При использовании модулей предполагается, что модули, которые используются (через Uses) в программе, должны быть уже оттранслированы и храниться, как машинный код, а не как исходный код на Паскале. Более того, определенные стандартные модули (System, Dos, Crt, Graph, Overlay, Printer, Wincrt, Strings) хранятся в т.н. стандартной биб-ке (TURBO.TPL, TPW.TPL или TPP.TPL) и автоматически загружаются в память вместе с биб-кой при запуске Borland Pascal.

программой TPUMOVER.EXE можно посмотреть состав стандартных модулей в библиотеке, убрать модуль из библиотеки (благодаря чему уменьшается его размер и количество памяти, необходимой для его загрузки), добавить модуль как стандартный в библиотеку

В результате использование одного или нескольких модулей очень незначительно увеличивает время компиляции (сборки) программы (обычно менее чем на секунду).

Фактически, если модуль скомпилирован, его использование сохраняет вам время при перекомпиляции. Поскольку компилятор не перекомпилирует модуль, пока он не изменяется, использование модулей в программе ускорит процесс ее построения.

Когда в интерфейсную часть модулявносятся изменения, другие модули, использующие этот модуль, должны быть заново скомпилированы. При использовании команд Make или Build компилятор делает это автоматически. Однако если изменения коснулись только секции реализацииили секции инициализации, то другие модули, в которых используется этот модуль, перекомпилировать не нужно.

Borland Pascal предоставляет пользователю ряд стандартных модулей, таких как System, Crt, DOS, Graph, WinCrt и др. Первые три из перечисленных стандартных моделей обычно записаны в одну из трех библиотек исполняющей системы (в зависимости от целевой платформы).

Библиотеки исполняющей системы для целевой платформы

Имя библиотеки Целевая платформа
TURBO.TPL DOS реального режима
TPW.TPL Windows
TPP.TPL DOS защищенного режима

Модуль System всегда подключается автоматически. В этом модуле сосредоточены все стандартные функции и для поддержки таких средств, как файловый ввод-вывод, обработка строк, операции с плавающей запятой, динамическое распределение памяти и других этот модуль реализует весь нижний уровень.

Другие модули автоматически не подключаются: вы должны обязательно включить их в оператор uses. Например:

uses Dos, Crt; { теперь могут быть доступны средства модулей Dos и Crt}

Real Compile\Target Protected mode Windows
Чтобы найти файл, содержащий скомпилированный модуль, компилятор усекает указанное в операторе uses имя модуля до первых восьми символов и добавляет расширение файла. Если целевой платформой является DOS, расширением будет *.TPU. Если целевая платформа - Windows, то расширением файла будет *.TPW. Если целевой платформой является защищенный режим DOS, то расширением файла будет *.TPP. Хотя имена файлов усекаются, в операторе uses должен указываться полный идентификатор модуля. Например, если в программе используется предложение:

Uses unit_A;

то компилятор будет перед трансляцией программы пытаться найти на диске файл с именем unit_a.tpu. Если есть необходимость хранить модуль в файле с другим именем, например, unit_B, то следует использовать директиву компилятора $U для переопределения имени TPU-файла. Эта директива задает " настоящее" имя TPU-файла и должна размещаться непосредственно перед именем подключаемого модуля в предложении USES. Так в данном случае:

uses {$U unit_B} unit_A;

компилятор будет для подключения модуля unit_A пытаться найти файл:

unit_B.tpu.

 

При поиске файла с модулем, если задана опция компилятора Compile, то предполагается, что все используемые модули уже откомпилированы и компилятор выполняет поиск (откомпилированного модуля) по следующей схеме:

1) компилятор просматривает библиотеку исполняющей системы (обычно turbo.tpl);

2) если модуль не найден в библиотеке исполняющей системы, то поиск продолжается в текущем каталоге;

3) если модуль не найден в текущем каталоге, то поиск продолжается в каталогах, заданных с помощью установок в среде Options| Directories| Unit Directories

Если ничего не найдем - то ошибка.

Если заданы опции компилятора Make или Build, то предполагается, что какие-то части модуля были изменены, и описанные выше 3 шага проводятся в поисках не файла с расширением TPU, а в поисках исходного текста модуля, который д.б. перекомпилирован (потому, что возможно изменен) перед трансляцией самой программы:

- если выбран Make (условная компиляция), то будет проверяться наличие всех необходимых tpu-файлов и если какой-то файл не найден или соответствующий исходник был изменен (после последней компиляции), то файлы только этих модулей будут отыскиваться и перекомпилироваться;

- если выбран Build (безусловная компиляция), то будет выполнена принудительная перекомпиляция всего, что входит в проект (программа + текст модулей)).


Поделиться:



Популярное:

  1. A.16.15.3. Экран принудительной изоляции для использования в депо
  2. A.16.15.5. Экран состояния модулей удаленного ввода-вывода (RIOM)
  3. Cинтетический учет поступления основных средств, в зависимости от направления приобретения
  4. Cмыкание с декоративно-прикладным искусством
  5. E) Ценность, приносящая доход, депозит.
  6. F) объема производства при отсутствии циклической безработицы
  7. F) показывает, во сколько раз увеличивается денежная масса при прохождении через банковскую систему
  8. F)по критерию максимизации прироста чистой рентабельности собственного капитала
  9. G) осуществляется за счет привлечения дополнительных ресурсов
  10. H) Такая фаза круговорота, где устанавливаются количественные соотношения, прежде всего при производстве разных благ в соответствии с видами человеческих потребностей.
  11. H)результатов неэффективной финансовой политики по привлечению капитала и заемных средств
  12. I BUILD A BIG CANOE (я мастерю большое каноэ)


Последнее изменение этой страницы: 2016-07-12; Просмотров: 625; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.009 с.)
Главная | Случайная страница | Обратная связь