path: Главная\Статьи\Директивы компилятора\Переключатели от $R до $Y


язык:Turbo Pascal
 
 $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-, генерация информации о
ссылках на символы выключена.




Rambler's Top100 Rambler's Top100 MAFIA's Top100