$R: Проверка диапазона
_______________________
Включает и выключает генерацию кода проверки
диапазона.
Синтаксис: {$R+} или {$R-}
Значение по умолчанию: {$R-}
Тип: Локальная
Команда меню: Options|Compiler|Range Checking
Состояние $R+:
В состоянии $R+:
- Все индексы массивов и строк проверяются на принадлежность
допустимым пределам
- Все присваивания скалярным и поддиапазонным переменным проверяются
на принадлежность заданным диапазонам
Если проверка принадлежности диапазону не
выдерживается, то программа завершается и
выводится сообщение об ошибке времени
выполнения.
$R+ не влияет на процедуры Inc и Dec.
Включение проверки диапазона замедляет вашу
программу и делает ее больше.
Используйте эту опцию при отладке, затем
выключите ее, если уверены, что в вашей
программе нет ошибок.
$S: Проверка переполнения стека
________________________________
Включает и выключает генерацию кода проверки
переполнения стека.
Синтаксис: {$S +} или {$S-}
Значение по умолчанию: {$S +}
Тип: Локальный
Команда меню: Options|Compiler| Проверка стека
Состояние $S+:
В состоянии $S+, компилятор генерирует
специальный код в начале каждой процедуры или
функции для проверки, достаточно ли места в
стеке для локальных переменных и другой
временной памяти.
Когда в стеке недостаточно свободного места,
вызов процедуры или функции, компилируемых в
режиме $S+ заставляет программу завершиться и
вывести сообщение об ошибке времени выполнения
программы.
Состояние $S-:
Когда в стеке недостаточно свободного места,
вызов процедуры или функции, вероятно, вызовет
сбой системы.
$T: Проверка типов указателей
______________________________
Управляет типами указателей, созданных
оператором @.
Синтаксис: {$T+} или {$T-}
Значение по умолчанию: {$T-}
Тип: Локальная
Команда меню: Options|Compiler|Typed @ operator
Состояние $T-:
В состоянии $T-, тип результата оператора @ -
всегда нетипизированный указатель.
Состояние $T+:
Когда оператор @ применяется к переменной в
состоянии $T+, тип результата - ^T, где T
совместим только с другими указателями на
данный тип переменной.
$V: Проверка строковых параметров
__________________________________
Управляет проверкой типов строк, переданных
как переменные параметры.
Синтаксис: {$V+} или {$V-}
Значение по умолчанию: {$V +}
Тип: Локальная
Команда меню: Options|Compiler|Strict var-strings
Состояние $V+:
В состоянии $V+, выполняется строгий контроль
соответствия типов, чтобы формальные и
фактические параметры имели идентичные
строковые типы.
Состояние $V-:
В состоянии $V-, любая переменная со строковым
типом позволяется как фактический параметр,
даже если объявленная максимальная длина не
такая же как и у формального параметра. Хотя
$V- все еще поддерживается, вы должны
использовать открытые строковые параметры.
Смотри также:
$P
$W: Область стека Windows
__________________________
Генерирует специальные пролог- и эпилог- коды
для дальних процедур и функций.
Синтаксис: {$W+} или {$W-}
Значение по умолчанию: {$W +}
Тип: Локальная
Команда меню: Options|Compiler|Windows stack frames
Режим:
Windows
Состояние $W+:
В состоянии $W+, компилятор генерирует
специальный код входа и выхода для дальних
процедур и функций.
Этот код дает возможность менеджеру памяти
реального режима Windows правильно
идентифицировать дальние записи активации,
когда он корректирует цепочку вызовов после
перемещения сегмента кода или данных.
Состояние $W-:
В состоянии $W-, компилятор не генерирует
такого кода.
Отключите эту опцию, если ваша программа
выполняется только в стандартном режиме
Windows или только в расширенном режиме
Windows 386.
$X: Расширенный синтаксис
__________________________
Включает или выключает расширенный синтаксис
Turbo Pascal.
Синтаксис: {$X+} или {$X-}
Значение по умолчанию: {$X+}
Тип: Глобальная
Команда меню: Options|Compiler|Extended syntax
Состояние $X+:
В состоянии $X+, функции могут использоваться
как простые операторы - результат функции
может быть отброшен.
Вообще, вычисления, выполняемые функцией
представляются ее результатом, так что немного
смысла его отбрасывать. Однако, в некоторых
случаях, функция может выполнять несколько
операций, основываясь на параметрах. В
некоторых из этих случаев она может не
производить результат.
В таких случаях, $X+ позволяет обрабатывать
функцию как процедуру.
Директива $X+ не относится ко встроенным
функциям (функциям, определенным в модуле
System).
Режим $X+ также включает поддержку строк с
заверщающим нулем, активизируя специальные
правила, относящиеся ко встроенному типу PChar
и нуль-основанным символьным массивам. Смотри
модуль Strings для подробной информации.
Состояние $X-:
В заданном по умолчанию состоянии $X-,
расширенный синтаксис выключен. Попытка
использовать его вызовет ошибку.
$Y: Информация о символах
__________________________
Включает или выключает генерацию информации о
ссылках на символы.
Синтаксис: {$Y+} или {$Y-}
Значение по умолчанию: {$Y+}
Тип: Глобальная
Команда меню: Options|Compiler|Symbol information
Информация о ссылках на символы состоит из
таблиц, в которых находятся номера строк всех
объявлений и ссылок на символы модуля.
Состояние $Y+:
Состояние $Y+ включает генерацию информации о
ссылках на символы.
Информация о ссылках на символы для модулей
записывается в TPU, TPP или TPW файле вместе с
объектным кодом модуля. Информация о ссылках
на символы увеличивает размер TPU, TPP или TPW
файлов, но не влияет на размер или
быстродействие готовой программы, использующей
данный модуль.
Переключатель $Y не дает эффекта, если
выключены переключатели $D и $L.
Состояние $Y-:
В состоянии $Y-, генерация информации о
ссылках на символы выключена.