Поделиться через


Управление библиотекой

Режимом по умолчанию для 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: объект
    Исключает указанный объект из выходной библиотеки.LIB создает выходную библиотеку путем объединения всех объектов (из файлов объекта или библиотек), а затем удаляя все объекты, указанные в параметре /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), предоставляемых в других продуктах Майкрософт.

См. также

Ссылки

Справочник по LIB-интерфейсам