Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Компиляция и подключение модулей




Модуль с инициирующей частью.

Инициирующая часть модуля

 

Инициирующая часть завершает модуль. В ней может быть блок с операто­рами, содержащими некоторый фрагмент программы. Эти операторы выполня­ются до начала вызывающей программы и обычно используются для подготовки работы вызывающей программы. Например, в ней могут инициироваться (полу­чать начальные значения) переменные, открываться требуемые файлы и т. д. Если этого не требуется, в инициирующей части обязателен только последний оператор END. Пример модуля с инициирующей частью.

Unit FileText;

Interface { - начало интерфейсной части }

Procedure Print (S: string);

Implementation { - начало исполняемой части }

Var F: TEXT; { Локальны в модуле: F и NAME }

Const NAME = 'D:\REZ.TXT'; { Определение константы NAME }

{------------- Процедура вывода значения S в файл F ---------------------- }

Procedure Print;

Begin WRITE (F, S);

End; { - конец исполняемой части }

BEGIN { - начало инициирующей части }

Assign (F, NAME); { - назначение переменной F файла }

{ из константы NAME }

Rewrite (F); { - открытие файла F для создания }

END. { - конец инициирующей части }

 

 

Для того чтобы сформировать модуль (библиотеку) с подпрограммами, мож­но отладить подпрограммы в составе основной программы, а затем перенести их в модуль. Для использования подпрограмм модуля его надо оттранслировать, т. е. сформировать из PAS-файла TPU-файл на МД, подключить к среде директо­рию с TPU-файлами модулей и подключить сформированный модуль к основной программе с помощью оператора USES.

В директории Options\Directories\EXE&TPU directory должны быть:

1) пустая строка, если TPU-файл надо поместить в текущий каталог;

2) имя директории, в которую необходимо записать сформированные TPU-файлы, если модуль должен быть в заданном каталоге.

Например: F:\TURBO\TP.

Если TPU-файлы помещены не в текущем каталоге, то для их использования в меню Options\Directories\Unit directories должна быть их директория, например: F:\TURBO\TP.

В Паскале имеется 3 режима (и 3 команды) компиляции: Compile, Make, Build. Они отличаются только отношением компилятора к модулям, указанным в Uses.

Если с Помощью Compile компилируется текст программы или модуль, рас­положенный в редакторе, и в них используется оператор Uses, то все модули, указанные в Uses, должны быть предварительно откомпилированы и результаты их компиляции должны быть помещены в TPU-файлы на МД. Например, если в программе (модуле) имеется Uses FileText;, то на МД в текущем каталоге или в каталоге, определенном опцией Unit directories, должен быть файл FileText.tpu.

Для получения этого файла из файла FileText.pas надо:

1) установить опцию компилятора Compile/Destination в состояние Disk (для версий, меньших 7.0) и имя каталога в опцию Options/ Directories/EXE&TPO directory;

2) откомпилировать файл FileText.pas с помощью команд Compile (Alt-F9) или Make (F9).

В результате компиляции с помощью команды Make компилятор сам прове­ряет наличие требуемых TPU-файлов для каждого модуля, указанного в Uses. Кроме того, компилятор проверяет даты и время создания PAS-файлов и соответ­ствующих им TPU-файлов модулей. И если обнаружено, что в найденный PAS-файл были внесены изменения со времени создания соответствующего ему TPU-файла, то Паскаль автоматически транслирует PAS-файл и создает из него новый TPU-файл. Таким образом, команда Make следит за соответствием TPU-файлов их PAS-файлам, при необходимости обновляя все TPU-файлы, используемые в про­грамме.

Команда Build всегда заново перекомпилирует все модули, используемые ос­новной программой. Если PAS-файлы не найдены, то используются их имеющие­ся TPU-файлы.

Подключение модулей к вызывающей программе и их компиляция произво­дится в последовательности их перечисления в Uses. При переходе к очередному модулю система предварительно отыскивает все модули, на которые он ссылает­ся. Ссылки модулей друг на друга могут иметь древовидную структуру. Но за­прещается явное или косвенное обращение модуля к самому себе (его рекурсия).




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 768; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.