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


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

Обновлен: Ноябрь 2007

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

e17b885t.alert_note(ru-ru,VS.90).gifПримечание.

Нельзя одновременно удалять член и извлекать его в файл. Следует сначала извлечь объект члена с помощью параметра /EXTRACT, а затем запустить LIB снова, используя параметр /REMOVE. В этом состоит отличие от 16-разрядного варианта команды LIB (для библиотек OMF), предоставляемых в других продуктах Майкрософт.

См. также

Ссылки

Документация по LIB