Соглашение | Публикация статей

Красивые рольшторы - roll-service.by

Модуль
Категория: Статьи

Модуль - это автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний (типы, константы, переменные, процедуры и функции) и, возможно, некоторые исполняемые операторы инициирующей части. В модулях Turbo PASCAL явным образом выделяется некоторая "видимая" интерфейсная часть, в которой сконцентрированы описания глобальных типов, констант и переменных, а также приводятся заголовки глобальных процедур и функций. Появление объектов в интерфейсной части делает их доступными для других модулей и основной программы. Тела процедур и функций располагаются в исполняемой части модуля, которая может быть скрыта от пользователя. Модули представляют собой прекрасный инструмент для разработки библиотек прикладных программ и мощное средство модельного программирования. Важная особенность модуля заключается в том, что компилятор Turbo PASCAL размещает их программный код в отдельном сегменте. Модуль имеет следующую структуру:
UNIT <имя>;
INTERFACE
<интерфейсная часть>
IMPLEMENTATION
<исполняемая часть>
BEGIN
<инициирующая часть>
END.

Здесь UNIT - зарезервированное слово, начинает заголовок
модуля;
<имя> - имя модуля (должно совпадать с именем файла, в
который помещен модуль);
IMPLEMENTATION - зарезервированное слово (выполнение), начинает исполняемую часть; BEGIN - зарезервированное слово, начинает инициирующую часть (часть модуля BEGIN <инициирующая часть> необязательна); END - зарезервированное слово, признак конца модуля.
Заголовок модуля состоит из зарезервированного слова UNIT и следующего за ним имени модуля. Для правильной работы Turbo PASCAL и возможности подключения средств, облегчающих разработку крупных программ, это имя должно совпадать с именем файла, в который помещается исходный текст модуля. Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается специальным приложением USES <список модулей>. Здесь USES - зарезервированное слово; <список модулей> - список модулей, с которыми устанавливается связь, элементами списка являются имена модулей, отделяемые друг от друга запятыми. Если объявление USES используется, то оно должно открывать раздел описаний основной программы. Модули могут использовать другие модули. Предложение USES в модулях может следовать либо сразу за зарезервированным словом INTERFACE, либо сразу за словом IMPLEMENTATION. Интерфейсная часть открывается зарезервированным словом INTERFACE. В этой части содержатся объявления всех глобальных объектов модуля (типов, констант, переменных и подпрограмм), которые должны стать доступными основной программе и (или) другим модулям. При объявлении глобальных подпрограмм в интерфейсной части указывается только их заголовок. Объявление подпрограмм в интерфейсной части автоматически сопровождается их компиляцией с использованием дальней модели памяти. Таким образом, обеспечивается доступ к подпрограммам из основной программы и других модулей. Порядок появления различных разделов объявлений и их количество может быть произвольным. Исполняемая часть начинается зарезервированным словом IMPLEMEN- TATION и содержит описания подпрограмм, объявленных в интерфейсной части. В ней могут объявляться локальные для модуля объекты - вспомогательные типы, константы, переменные и блоки, а также метки, если они используются в инициирующей части. Описанию подпрограммы, объявленной в интерфейсной части модуля, в исполняемой части должен предшествовать заголовок, в котором можно опускать список формальных переменных (и тип результата для функции), так как они уже описаны в интерфейсной части. Но если заголовок программы приводится в полном виде, т.е., со списком формальных параметров, то он должен совпадать с заголовком, объявленным в интерфейсной части. Инициирующая часть завершает модуль. Она может отсутствовать вместе с начинающим ее словом BEGIN или быть пустой - тогда за BEGIN сразу следует признак конца модуля (слово END и следующая за ним точка). В инициирующей части размещаются исполняемые операторы, содержащие некоторый фрагмент программы. Эти операторы исполняются до передачи управления основной программе и обычно используются для подготовки ее работы. Например, в них могут инициироваться переменные, открываться нужные файлы, могут устанавливаться связи с другими ПК по коммуникационным каналам и т.п. Не рекомендуется делать инициирующую часть пустой, лучше ее опустить: пустая часть содержит пустой оператор, которому будет передано управление при запуске программы.
В среде Turbo PASCAL имеются средства, управляющие способом компиляции модулей и облегчающие разработку крупных программных проектов. В частности, определены три режима компиляции: COMPILE, MAKE и BUILD. Режимы отличаются только способами связи компилируемого модуля и основной программы с другими модулями, объявленными в приложении USES. При компиляции модуля или основной программы в режиме COMPILE компилируется только файл, находящийся в активном окне. По умолчанию предполагается, что используемые модули уже откомпилированы и результаты помещены в одноименные файлы с расширением .TPU; файл с расширением .TPU (от английского Turbo Pаscal Unit) создается в результате компиляции модуля. В режиме МАКЕ компилятор проверяет наличие TPU-файлов для каждого объявленного модуля. Если какой-либо из файлов не обнаружен, то система пытается отыскать одноименный файл с расширением .PAS, т.е. файл с исходным текстом модуля. Если PAS-файл найден, то происходит его компиляция. Кроме того, в этом режиме система следит за возможными изменениями исходного текста любого используемого модуля. Если в PAS-файл (исходный текст модуля) внесены какие-либо изменения, то независимо от того, есть ли уже в каталоге соответствующий TPU-файл или нет, система осуществляет его компиляцию перед компиляцией основной программы. Если изменения внесены в интерфейсную часть модуля, то будут перекомпилированы также и все другие модули, обращающиеся к нему. Режим МАКЕ существенно облегчает процесс разработки крупных программ с множеством модулей. В режиме BUILD существующие TPU-файлы игнорируются, и система пытается отыскать и компилировать соответствующий PAS-файл для каждого объявленного в предложении USES модуля. После компиляции в режиме BUILD программист может быть уверен в том, что учтены все сделанные им изменения в любом из модулей.
Подключение модуля к основной программе и их возможная компиляция осуществляется в порядке их объявления в предложении USES. При переходе к очередному модулю система предварительно отыскивает все модули, на которые он ссылается. Ссылки модулей друг на друга могут образовывать древовидную структуру любой сложности, однако запрещается явное или косвенное обращение модуля к самому себе. Дело в том, что Turbo PASCAL разрешает ссылки на частично откомпилированные модули, что приблизительно соответствует опережающему описанию подпрограммы. Если интерфейсные части любых двух модулей независимы, Turbo PASCAL сможет идентифицировать все глобальные идентификаторы в каждом из модулей, после чего откомпилирует тела модулей обычным способом.


Статьи по теме:

Электромагнитные поля
Два формата таблицы FAT
Электронный подход
Установка Системы Видеонаблюдения В Офис
Классификация прикладных систем и классификация кабельных систем
WordPad: Поиск и замена слов по шаблону
Группы показателей качества конструкции ЭВМ
Модемы и факс-модемы
Алее Софтвер Приглашает На Docflow 2008!
Компьютер-помощник конструктора
Численные методы, используемые в данной работе
Уход За Домашним Компьютером
Содержимое таблицы FAT
Микропроцессор
"Адские" мифы
Документооборот для Linux
3Ds Max 2008 (Rip)
ЭВМ V поколения
Рассказ за програмным обеспечением Escrow
Запись и воспроизведение звука
СРАВНЕНИЕ ИСКУССТВЕННОГО И ЕСТЕСТВЕННОГО ИНТЕЛЛЕКТОВ
Прочие функции Microsoft Internet Explorer 6
МЕТОДЫ ЗАЩИТЫ ОТ КОМПЬЮТЕРНЫХ ВИРУСОВ
Модуль CRT
Смена поколений
Способы краж в банковских информационно-вычислительных системах
Motorola и Verizon представили Android-телефон DEVOUR
Информационное общество: глобальное, европейское, украинское
Компьютерный вирус - понятие и классификация
Количество Интернет-Атак На Банки Продолжает Расти
Способы совершения компьютерных преступлений
Зачем Нам Нужен План Управления Конфигурациями? Основные Понятия И Концепции Документа
Формат Магнитной Записи Lto (Linear Tape Open)
Мышление и информация
СФЕРЫ ПРИМЕНЕНИЯ КОМПЬЮТЕРОВ
Технология Gigabit Ethernet
ПРЕДУПРЕЖДЕНИЕ КОМПЬЮТЕРНЫХ ПРЕСТУПЛЕНИЙ
СПЕЦИФИКА ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ САПР
Отражение и дублирование сервера
СТАДИИ СОЗДАНИЯ САПР
Призначення і класифікація ПП
Переход на новую систему и ее поддержка
Компьютеры в учреждениях
Адресация в системе электронной почты
Тестирование От А До Я. Часть 1 - Основополагающие Принципы И Подходы
Горизонтальная подсистема
Политика безопасности Microsoft Internet Explorer
Текст программы на языке Basic
Пристрої, що запам'ятовують
Информатизация общества: социальные условия, предпосылки и последствия
Просмотр видеодисков в формате MPEG 4 и DVD
Правда об активации Windows Vista
«Откат» к предыдущей версии Microsoft Windows
Администрирование Windows XP
Появление IBM PC