Library file does not exist. Create?
Ответ y обеспечит создание библиотеки, n — возврат в DOS. В этом ответе может быть задана опция /PAGESIZE.
2. Операции с библиотекой. Ответом является набор команд LIB. Если команды LIB не помещаются на строке, в ее последней позиции следует поставить признак продолжения — символ & и нажать ENTER, после чего можно будет продолжать ввод команд.
3. Имя файла листинга. Если не было задано никаких модификаций библиотеки, LIB создает файл листинга и возвращает управление в DOS.
4. Имя выходной библиотеки. Этот запрос появляется в том случае, когда была специфицирована хотя бы одна операция модификации библиотеки.
Если при ответе не указано расширение, предполагается LIB. Библиотека с указанным именем будет создана как копия рабочей библиотеки и все операции будут производиться именно с ней.
Если нажать ENTER, не введя имени, операции будут производиться с рабочей библиотекой. В этом случае для старой библиотеки будет создана копия с расширением BAK.
Если в каком-либо ответе после первого встречается символ ;, LIB устанавливает оставшуюся входную информацию по умолчанию.
В любом ответе могут быть заданы ответы на последующие запросы в формате командной строки для запуска LIB.
Для запуска LIB посредством командной строки, необходимо ввести командую строку следующего вида:
LIB <имя старой библиотеки> [/PAGESIZE:<число>][<команды>]
[,<имя файла листинга>][,<имя новой библиотеки>]]][;]
Назначение библиотек и правила умолчания аналогичны случаю запуска LIB с использованием подсказок.
Символ ; обозначает конец строки и должен кодироваться последним, если он есть. Оставшаяся неопределенной информация устанавливается по умолчанию.
Спецификации исходной информации LIB могут быть заранее занесены в специальный файл ответа. Имя этого файла с предшествующим символом @ и указанием пути поиска, если он нужен, может быть помещено в любом месте ответа на подсказку или командной строки и трактуется, как если бы содержимое файла ответа было непосредственно вставлено в это место. Следует, однако, помнить, что комбинация символов CARRIAGE-RETURN/LINE-FEED в файле ответа интерпретируется как ENTER в подсказке или запятая в командном файле.
Общий вид файла ответа:
<имя библиотеки>[/PAGESIZE:<число>]
[<команды>]
[<имя файла листинга>]
[<имя выходной библиотеки>]
Каждая группа данных должна задаваться на отдельной строке. Если группа не помещается на одной строке, в последней позиции строки должен стоять признак продолжения — символ &.
В файле ответа могут быть опущены компоненты, уже определенные ответами на подсказки или командной строкой.
При обнаружении в файле ответа символа ; остаток файла игнорируется, и оставшаяся неопределенной информация устанавливается по умолчанию.
При использовании файла ответа его содержимое выдается на консоль в форме подсказок. Если определена не вся информация LIB переходит в диалоговый режим.
Если файл ответа не содержит комбинации символов
CARRIAGE-RETURN/LINE-FEED или символа;, LIB выдает на консоль последнюю строку файла и ожидает нажатия ENTER.
Единственная опция LIB, задаваемая при имени рабочей библиотеки, определяет размер страницы библиотеки и имеет вид:
/PAGEZIZE:<число> или /P:<число>
Указанное число задает размер страницы библиотеки в байтах и должно быть целым четным числом в пределах от 2 до 32768. По умолчанию принимается 128 для новой библиотеки или размер страницы существующей библиотеки.
Размер страницы влияет на выравнивание хранимых в библиотеке модулей. Модули всегда располагаются с начала страницы, считая от начала файла.
Из-за индексной технологии поиска и хранения, реализуемой LIB, библиотека с большим размером страницы может содержать большее число модулей. Однако, при этом возможен значительный перерасход памяти на диске. Рекомендуется создавать библиотеки с малым размером страницы.
Имя каждого файла может сопровождаться информацией о подоглавлении, содержащем этот файл, иначе поиск исходного файла или создание выходного файла будет осуществляться в текущем подоглавлении.
Работа LIB может быть в любой момент прекращена нажатием клавиш CTRL-C.
Функции и команды LIB
Среди операций с библиотеками, выполняемых LIB, следует различать функции LIB и команды LIB.
Функции LIB не приводят ни к каким модификациям существующих данных.
Команды LIB предназначены для модификации библиотек.
Выполнение команд всегда влечет за собой создание резервной копии исходной библиотеки, хранящей состояние библиотеки до начала коррекций. Именно команды, а не функции LIB вводятся в ответе на подсказку, в командной строке и в файле ответа.
Создание новой библиотеки
Новая библиотека создается при запуске LIB в случае указания имени несуществующей библиотеки и утвердительном ответе на подтверждающий запрос при использовании подсказок.
Если используются команды модификации библиотеки, в новую библиотеку перед началом модификаций копируется содержимое исходной библиотеки, которая в этом случае считается резервной копией.
Команды LIB выполняются с новой библиотекой.