Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорные системы (книга Комаров) / Модульное программирование.doc
Скачиваний:
82
Добавлен:
08.03.2015
Размер:
276.99 Кб
Скачать

5.2. Библиотеки объектных модулей

Библиотека представляет собой совокупность объектных модулей, объединенных в одном файле. Как правило, в библиотеку включаются модули, реализующие некоторые функции общего назначения, с целью их использования в последующих разработках. Эти модули оформляются в виде подпрограмм, и в результате их раздельной трансляции формируются соответствующие файлы .obj.

5.2.1. Создание библиотек объектных модулей и операции над ними

Для создания библиотек из объектных модулей служит программа-библиотекарь LIB. Формат командной строки для ее вызова имеет вид:

LIB {Имя_старой_библиотеки}{Команда}{Имя_файла_листинга}

{,Имя_новой_библиотеки}{;}

Первый параметр командной строки указывает имя файла библиотеки, над которой будут выполняться заданные операции. По умолчанию используются файлы с расширением .lib.

Второй параметр определяет операцию, выполняемую над библиотекой.

Третий параметр указывает имя файла листинга перекрестных ссылок библиотеки, который содержит два списка:

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

2) список модулей библиотеки с указанием содержащихся в них общих идентификаторов.

Четвертый параметр командной строки вызова LIB определяет имя файла выходной библиотеки. Библиотека с указанным именем будет создана путем копирования старой библиотеки, и все операции будут выполняться над ней. При отсутствии этого параметра все операции выполняются над старой библиотекой, но ее неизмененная копия сохраняется в файле .bak.

Операции над библиотекой задаются с помощью команд библиотекаря LIB.

Команды библиотекаря

Команды LIB служат для создания и сопровождения библиотек, а также выполнения различных операций над ними:

1) добавление, удаление, замену, копирование и перемещение модулей;

2) объединение, тестирование и просмотр каталога библиотек.

Добавление модуля в библиотеку осуществляется командой

+Имя_объектного файла

Модуль, находящийся в объектном файле, включается в библиотеку под именем, указанном в директиве NAME. Если эта команда задана с именем несуществующей библиотеки, то создается новая библиотека.

Удаление модуля из библиотеки осуществляется командой

Имя_модуля

Замена модуля в библиотеке выполняется командой

+Имя_модуля

Модуль с указанным именем замещается модулем из объектного файла с тем же именем. При этом LIB сначала удаляет модуль из библиотеки, а затем ищет файл.

Копирование модуля из библиотеки осуществляется командой

Имя_модуля

Модуль с указанным именем копируется из библиотеки в объектный файл с тем же именем и остается в библиотеке.

Перемещение модуля из библиотеки реализуется командой

Имя_модуля

Эта команда выполняется аналогично команде копирования с той лишь разницей, что после копирования модуль удаляется из библиотеки.

Объединение библиотек осуществляется командой

+Имя_библиотеки

Содержимое указанной библиотеки добавляется в конец старой библиотеки. В этом случае нельзя опускать расширение имени добавляемой библиотеки, так как иначе указанное имя будет интерпретироваться как имя объектного файла.

Между знаками выполняемой операции и указываемыми именами не должно быть пробелов.

Тестирование библиотеки выполняется в случае задания в командной строке вызова LIB только имени библиотеки с последующим символом ;, то есть командой

LIB Имя_библиотеки;

Оно заключается в проверке корректности всех входов в библиотеку и находящихся в ней модулей. LIB автоматически тестирует все модули при добавлении их в библиотеку.

Для просмотра содержимого библиотеки необходимо получить ее каталог, который может быть помещен либо в файл, либо на экран дисплея.

Файл с каталогом библиотеки создается командой вида:

LIB Имя_библиотеки, Имя_библиотеки.dir

и представляет собой файл с указанным именем и расширением dir.

Для отображения каталога библиотеки на экране может использоваться команда

LIB Имя_библиотеки,con

Наряду с именами объектных модулей каталог содержит перечень тех имен каждого модуля, которые указаны в операторе PUBLIC. Это напоминает, какие имена должны использоваться в прикладной программе при ссылках на процедуры, переменные и константы, определенные в вызываемых ею модулях библиотеки.

На практике библиотекарь LIB, как правило, вызывается следующим образом:

1) LIB в этом случае все входные параметры запрашиваются и вводятся в диалоговом режиме;

2) LIB OBJECT+MUL32,,в этом случае модуль из файла MUL32.obj будет добавлен или создаст библиотеку OBJECT.lib;

3) LIB OBJECT,OBJECT.dirв этом случае будет создан файл каталога библиотеки OBJECT.dir;

4) LIB OBJECT,conотображение каталога библиотеки OBJECT.lib на экране.

Соседние файлы в папке Микропроцессорные системы (книга Комаров)