Управление библиотекой
Режимом по умолчанию для LIB является построение и изменение библиотеки объектов COFF. LIB запускается в этом режиме, если не указаны параметры /EXTRACT (для копирования объекта в файл) или /DEF (для построения библиотеки импорта).
Чтобы построить библиотеку из объектов и библиотек, следует использовать следующий синтаксис:
LIB [options...] files...
Эта команда создает библиотеку из одного или нескольких входных файлов. Эти файлы могут являться файлами объектов COFF, файлами 32-разрядных объектов OMF или существующими библиотеками COFF. Команда LIB создает одну библиотеку, которая содержит все объекты из указанных файлов. Если входным файлом является файл 32-разрядных объектов OMF, команда LIB преобразует их к типу COFF перед построением библиотеки. Команда LIB не принимает 32-разрядные объекты OMF, существующие в библиотеке, созданной с помощью 16-разрядной версии LIB. Необходимо сначала использовать 16-разрядную версию LIB для извлечения объекта, а затем можно использовать извлеченный объект в качестве входного файла для 32-разрядной LIB.
По умолчанию LIB присваивает выходному файлу имя, используя в качестве основы имя первого объекта или библиотеки и расширение LIB. Выходной файл помещается в текущий каталог. Если файл с таким именем уже существует, выходной файл заменяет существующий. Для сохранения существующей библиотеки необходимо использовать параметр /OUT, чтобы задать имя для выходного файла.
При построении и изменении библиотеки применяются следующие параметры:
/LIBPATH: dir
Переопределяет путь к библиотеке среды. Подробные сведения см. в описании параметра LINK /LIBPATH./LIST
Отображает информацию о выходной библиотеке в стандартном выходном формате. Вывод можно перенаправить в файл. Можно использовать параметр /LIST для определения правильного содержания существующей библиотеки при ее изменении./NAME: имяФайла
При построении библиотеки импорта задает имя DLL, для которого создается библиотека импорта./NODEFAULTLIB
Удаляет одну или несколько библиотек по умолчанию из списка искомых библиотек при разрешении внешних ссылок. Дополнительные сведения см. в разделе /NODEFAULTLIB./OUT: имяФайла
Переопределяет имя выходного файла используемое по умолчанию. По умолчанию выходная библиотека создается в текущем каталоге с базовым именем первой библиотеки или файла объекта, указанного в командной строке, и расширением LIB./REMOVE: объект
Исключает указанный объект из выходной библиотеки. Библиотека создает выходную библиотеку, объединяя все объекты (в объектных файлах или в библиотеках), а затем удаляет все объекты, для которых указано значение /REMOVE./SUBSYSTEM:{CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE}[,#[.##]]
Сообщает операционной системе способ запуска программы, созданной путем привязки к выходной библиотеке. Дополнительные сведения см. в описании параметра LINK /SUBSYSTEM.
Параметры LIB, указываемые в командной строке, не являются чувствительными к регистру.
С помощью команды LIB можно выполнять следующие задачи по управлению библиотеками:
Добавлять объекты в библиотеку, задавать имя файла для существующей библиотеки и новых объектов.
Объединять библиотеки, задавать имена файлов для библиотек. Можно добавлять объекты и объединять библиотеки с помощью одной команды LIB.
Заменить член библиотеки на новый объект, указывать библиотеку, содержащую заменяемый объект, и имя файла для нового объекта (или имя библиотеки, в которой он содержится). Если объекты с одинаковым именем существуют в нескольких входных файлах, последний указанный в команде LIB объект помещается в выходную библиотеку. При замене члена библиотеки необходимо убедиться, что новый объект или библиотека указывается после библиотеки, содержащей старый объект.
Чтобы удалить член из библиотеки, следует использовать параметр /REMOVE. Команда LIB обрабатывает все спецификации параметра /REMOVE после объединения всех входных объектов независимо от порядка, указанного в командной строке.
Примечание
Нельзя одновременно удалять член и извлекать его в файл.Следует сначала извлечь объект члена с помощью параметра /EXTRACT, а затем запустить LIB снова, используя параметр /REMOVE.В этом состоит отличие от 16-разрядного варианта команды LIB (для библиотек OMF), предоставляемых в других продуктах Майкрософт.