Основные директивы компилятора 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основные директивы компилятора



{$A+}, {$Allign On} ‑ выравнивание полей записей на границу слова.

{$B+}, {$Boolean On} ‑ вычисление логических выражений полностью.

{$С+}, {$Assertions On} ‑ проверка условий в процедуре Assert (п. 1.7.9).

{$D+}, {$DebuggInfo On} ‑ генерация отладочной информации.

{$D ‘текст’},{$Description ‘текст’} ‑ заголовок программы DLL.

{$G+}, {$ImprotedData On} ‑ включение в пакет данных.

{$I+}, {$IOChecks On} ‑ включение контроля результатов работы операции файлового ввода‑вывода. При возникновении ошибки генерируется исключение EinOutError (п.1.6.2). Если {I‑}, исключение не генерируется, а для анализа результата используется функция IOResult (п.1.8.2.1).

{$L файл}, {$Link файл} ‑ использовать компоновщику указанный файл для связывания с программой или модулем.

{$H+}, {$LongStrings On} ‑ использовать строку типа String как длинную.

{$P+}, {$OpenStrings On} ‑ использовать открытые строки.

{$Q+},{$OverFlowChecks On} ‑ проверка переполнения при целочисленных операциях (исключение EIntOverFlow (п.1.7.9)).

{$R+},{$RangeChecks On} ‑ проверка диапазона целочисленных значений, индексов массивов и коротких строк (исключение ERangeError (п.1.7.9)).

{$R файл},{$Resource файл} ‑ указывает имя ресурсного файла.

{$RunOnly On} ‑ компиляция пакета только на этапе выполнения программы.

{$T+},{$Typedaddress On} ‑ контроль за соответствием типов указателей.

{$M+},{$TypeInfo On} ‑ генерация кода контроля типов при выполнении.

{$M n,k} ‑ минимальное (n) и максимальное (k) значения размера стека в байтах для размещения локальных переменных. Если размер мал, то генерируется исключение EstackOverFlow (п.1.6.2) ($M 16384, 1048576).

{$V+},{$VarStringChecks On} ‑ контроль длины строковых параметров.

{$J+},{$WriteAbleConst On} ‑ типизированные константы рассматриваются как переменные с исходными значениями.

Директивы условной компиляции

{$Define идентификатор} ‑ определение условного идентификатора.

{$UnDef идентификатор} ‑ отмена ранее определенного, условного идентификатора.

{$IfDef идентификатор} ({$ IfNDef идентификатор} ) ‑ возвращает истину (ложь), если определен указанный условный идентификатор.

{$IfOpt ключевая директива} ‑ возвращает истину, если включена указанная ключевая директива компилятора (например, {IfOpt Q+}).

{$Else} ‑ начало области действия ложности директивы Ifxxxx (IfDef,IfOpt, OfNDef).

{$EndIf} ‑ конец всей области действия условной директивы Ifxxxx.

Условная компиляция производится по схеме:

[{$Define...}] [{$UnDef...}]... {$Ifxxxx}... [{$Else}... ] {$EndIf}

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

Пример задания параметра районного коэффициента к зарплате:

{$Define RegionalKoef} //параметр учета районного коэффициента

{$IfDef RegionalKoef} Zarplata:=Zarplata+Zarplata*RegKoef; {$EndIf}

Этапы разработки проекта

Разработка интерфейса и программного кода

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

Интер­фейс состоит из компонентов (п. 2.1.5), которые выбираются из палитры ком­понентов (п. 2.1.2) и визуально размещаются на формах проекта (п. 2.1.6).

Компиляция

Компиляция проекта выполняется по команде Project/Compile или кла­вишами ^F9. При компиляции проекта производятся следующие дей­ствия: компилируются все устаревшие модули и модули, которые под­клю­чают командой Uses устаревшие модули. Устаревшими модулями мо­гут быть исходные (Pas), объектные (Obj) и подключаемые (.Inc) модули. Пос­ле компиляции формируется исполняемый файл приложения с именем проек­та.

Cборка

Кроме компиляции можно выполнить сборку проекта командой Project/Build <имя проекта>, при которой компилируются все файлы, а не только устаревшие.

Выполнение

Выполнить проект можно из среды Delphi командой Run/Run или клавишей F9; при этом устаревшие файлы будут откомпилированы заново. При таком запуске имеются ограничения: нельзя запустить копию приложения, продолжить разработку приложения можно только после завершения его выполнения. При зацикливании приложения завершение его работы производится командой Run/Program Reset или клавишами ^F2. Для отладки можно использовать средства отладки (п. 1.3.7). Если программа использует параметры, то их нужно задать в поле Run parameters одноименного окна, вызываемого командой Run/Parameters.

Из среды Windows приложение запускается, как и любое другое приложение. Программу можно запустить и из приложения (п. 1.7.8).

1.3.6.5. Выполнение консольного приложения и DOS‑программ

Консольное приложение имитирует работу в текстовом режиме. Ввод и вывод осуществляются процедурами Read, Readln, Write и Writeln. Достоинством консольного приложения является возможность переноса в Delphi программ, написанных на Паскале в среде Dos, и небольшой объем ис­полняемых EXE‑файлов. Такое приложение создается командой File/ New/Con­sole Wizard либо на основе уже существующего проекта: удалить форму командой Project/Remove From Project, вызвать окно редактора кода командой Project/View Source и произвести необходимые изменения.

Пример:

Program Project1; {$apptype console} //директива компилятора

Uses sysutils, Windows; //подключаемые модули

Begin SetConsoleTitle('Консольное окно'); //заголовок окна приложения

Writeln('Proverka'); Readln; End. //текст программы

Внимание! В консольных приложениях используется кодировка сим­­­волов, принятая в DOS. Это не позволяет выводить без допол­нитель­ной перекодировки текст, набранный в Delphi.

Отладка

Отладка ‑ это процесс поиска и устранения ошибок в программе. Ошибки бывают двух типов: синтаксические (неверное написание предложений Паскаля), которые обнаруживаются самим компилятором, и логические (ошибки в самом кодируемом алгоритме).

Сообщения о синтаксических ошибках выводятся в нижней части ок­на редактора. При двойном щелчке на сообщении об ошибке подсве­чи­вает­­ся и становится текущей строка программы c ошибкой.

Для отладки имеется специальный встроенный отладчик, средства которого находятся в меню Run и подменю View/Debug Windows. Настройка отладчика производится командой Tools/Debugger Options.



Поделиться:


Последнее изменение этой страницы: 2017-02-08; просмотров: 313; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.28.197 (0.008 с.)