КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |