|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Ключи компиляции (директивы компилятора)
Ключ компиляции задает режим компиляции программы. Этот режим управляет синтаксическими требованиями к исходному тексту программы, а также поведением откомпилированного кода программы.
Ключ является глобальным, если в модуле он может присутствовать только в одном месте – в начале модуля. Режим, задаваемый глобальным ключом, действует на весь модуль. Ключ является локальным, если в модуле он может присутствовать во многих местах. Режим, задаваемый локальным ключом, действует на тот участок кода, который предшествует прямо противоположному ключу.
Выравнивание полей записей и классов {$A + }, {$A-}, {$A1}, {$A2}, {$A4}, or {$A8} или {$ALIGN ON}, {$ALIGN OFF}, {$ALIGN 1}, {$ALIGN 2}, {$ALIGN 4}, or {$ALIGN 8} По умолчанию: {$A8} или {$ALIGN 8} Зона действия: Локальный
Полное вычисление логических выражений {$B + } or {$B-} или {$BOOLEVAL ON} or {$BOOLEVAL OFF} По умолчанию: {$B-} или {$BOOLEVAL OFF} Зона действия: Локальный
Пример
x:= 3; {$B-} if (x > 4) // Вычисляется And (x < 5) // НЕ вычисляется then...;
Использование длинных строк (AnsiString) {$H + } or {$H-} или {$LONGSTRINGS ON} or {$LONGSTRINGS OFF} По умолчанию: {$H + } или {$LONGSTRINGS ON} Зона действия: Локальный
Проверка результата ввода-вывода {$I + } or {$I-} или {$IOCHECKS ON} or {$IOCHECKS OFF} По умолчанию: {$I + } или {$IOCHECKS ON} Зона действия: Локальный
Разрешение использовать типизированные константы как переменные {$J + } or {$J-} или {$WRITEABLECONST ON} or {$WRITEABLECONST OFF} По умолчанию: {$J-} или {$WRITEABLECONST OFF} Зона действия: Локальный
Генерация информации о текущих типах полей, методов, свойств, объявленных в секции Published (RTTI, RunTime Type Information ) {$M+} or {$M-} или {$TYPEINFO ON} or {$TYPEINFO OFF} По умолчанию: {$M-} или {$TYPEINFO OFF} Зона действия: Локальный
Если класс объявлен в режиме {$M-}, или не является потомком класса, объявленного в режиме {$M+}, секция Published запрещена. Задание размера стека {$M <Число: Мин. размер стека>, < Число: Макс. размер стека>} или {$MINSTACKSIZE <Число>} {$MAXSTACKSIZE <Число>} По умолчанию: {$M 16384, 1048576} Зона действия: Глобальный
1024 ≤ <Число: Мин. размер стека> ≤ 2147483647 <Число: Мин. размер стека> ≤ <Число: Макс. размер стека> ≤ 2147483647
Проверка выхода за пределы диапазона {$R + } or {$R-} или {$RANGECHECKS ON} or {$RANGECHECKS OFF} По умолчанию: {$R-} или {$RANGECHECKS OFF} Зона действия: Локальный
Пример. TP7
uses crt; Var i: integer; mA: array [1..10] of longint; mB: array [1..10] of longint; Begin clrscr; for i:= 1 to 10 do begin mA[i]:= 0; mB[i]:= 0; end; {$R-} i:= 12; mA[i]:= -7; writeln(mA[i]); // -7 writeln(mB[2]); // -7 {$R + } mA[i]:= -7; // RunTime Error writeln(mA[12]); // Constant Out Of Range end. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |