<p>1.3.5. Пункт Options (установка параметров системы)</p>

Этот пункт позволяет управлять характеристиками компилятора и самой среды Турбо Паскаль. Меню Options содержит семь пунктов (рис. 1.18).

Рис. 1.18

Первые четыре опции — Compiler, Linker, Environment и Directories — имеют еще одно подменю, содержащее несколько директив. Остальные опции необходимы только в специальных ситуациях.

1.3.5.1. Установки компилятора Compiler. Меню, появляющееся при выборе этой команды, показано на рис. 1.19. Пункты в меню

- 27 -

Рис. 1.19

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

Выражение «директива компилятора» означает, что инструкции даются компилятору во время обработки текста программы. Подробно о ее синтаксисе рассказывается в разд. 3.3 «Комментарии и ключи компиляции» и разд. 3.4 «Условная компиляция программ».

Режим проверки диапазонов Range Checking. Когда компиляция программы происходит в режиме Range Checking On (включен), исполняемый код формируется так, что при выполнении программы происходит контроль:

1) выхода индекса массива за его границы;

2) переполнения переменных типа String;

3) переполнения разрядной сетки числовых переменных;

4) некорректная инициализация данных типа «объект».

Как только происходит нарушение, программа прекращает свою работу и генерируется ошибка выполнения (Runtime error).

По умолчанию режим Range Checking находится в состоянии Off (выключен). Однако при отладке программы очень полезно включить этот режим (On), так как это увеличит ее эффективность. После отладки рекомендуется восстановить состояние Off.

Режим проверки стека Stack Checking. Стек — это область памяти, в которой программы обычно сохраняют значения локальных переменных во время работы процедур или функций.

- 28 -

Если программа была откомпилирована в режиме Stack Checking On, то компилятор включает в исполняемые коды программы проверки состояния стека при вызове процедур или функций. Если размер стека не достаточен, чтобы сохранить в нем локальные переменные вызываемой программы, то генерируется ошибка выполнения. По умолчанию этот режим устанавливается в состояние On.

Размер стека в Турбо Паскале по умолчанию принимается равным 16K. Для изменения этого значения используется опция Memory Sizes рассматриваемого подменю настройки компилятора.

Режим проверки ввода-вывода I/O Checking. В этом режиме компилятором генерируются коды проверки ошибок ввода-вывода. По умолчанию он включен, и программа будет генерировать ошибку выполнения. Под ошибкой ввода-вывода подразумевается любое аварийное прерывание при обращении к любому периферийному устройству центрального процессора ПЭВМ (чтение-запись на дисках, печать на принтере, ввод с клавиатуры и т.д.).

Обнаружение такой ошибки, так же как и всех других, обычно прекращает выполнение всей программы. Однако Турбо Паскаль поддерживает специальные средства обработки ошибок ввода-вывода. Подробно они будут описаны в разд. 12.11 «Обработка ошибок ввода-вывода».

Режим генерации «дальних» вызовов Force Far Calls. Этот режим применяется в специальных приложениях программирования. «Дальний» вызов (длинный адрес, Far Call) — это полная адресация для части процедур и функций, размещаемых в разных сегментах памяти отдельно от основного программного сегмента. («Дальний» вызов содержит в себе, кроме относительного адреса сегмента, необходимого внутри 64-килобайтного блока, еще и базовый адрес внешнего сегмента.)

Обычное состояние режима Force Far Calls – Off. При этом компилятор генерирует только «ближние» (near) вызовы. Если же состояние – On, то дальние вызовы генерируются для всех процедур и функций программы. Например, дальние вызовы обязательны при генерации оверлейного кода (см. гл. 18 «Модуль Overlay»).

Режим генерации оверлейных кодов Overlay Allowed. Оверлеи — это части кода программы, которые во время ее выполнения могут перекрываться. Их использование позволяет системе выполнять программы, размер которых больше, чем размер всей доступной памяти в компьютере. Оверлеи загружаются в память в тот момент, когда становятся нужны находящиеся в них программы, и после завершения своей работы выгружаются из памяти, освобождая место для другого оверлея.

- 29 -

Чтобы получить модуль, который планируется использовать как оверлейный, необходимо включить этот режим. По умолчанию состояние Overlay Allowed — Off. Более подробно этот вопрос будет рассмотрен в гл. 18 «Модуль Overlay».

Перейти на страницу:

Поиск

Похожие книги