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

Режимом по умолчанию для LIB является создание или изменение библиотеки объектов COFF.The default mode for LIB is to build or modify a library of COFF objects. LIB работает в этом режиме, если не указать параметр/EXTRACT (для копирования объекта в файл) или/DEF (для построения библиотеки импорта).LIB runs in this mode when you do not specify /EXTRACT (to copy an object to a file) or /DEF (to build an import library).

Чтобы создать библиотеку из объектов и (или) библиотек, используйте следующий синтаксис:To build a library from objects and/or libraries, use the following syntax:

LIB [options...] files...

Эта команда создает библиотеку из одного или нескольких входных файлов.This command creates a library from one or more input files. Файлы могут представлять собой объектные файлы COFF, 32-разрядные файлы OMF или существующие библиотеки COFF.The files can be COFF object files, 32-bit OMF object files, or existing COFF libraries. LIB создает одну библиотеку, которая содержит все объекты в указанных файлах.LIB creates one library that contains all objects in the specified files. Если входной файл является 32-битным объектным файлом OMF, программа LIB преобразует его в COFF перед сборкой библиотеки.If an input file is a 32-bit OMF object file, LIB converts it to COFF before building the library. LIB не может принимать 32-разрядный объект OMF, который находится в библиотеке, созданной 16-разрядной версией LIB.LIB cannot accept a 32-bit OMF object that is in a library created by the 16-bit version of LIB. Для извлечения объекта необходимо сначала использовать 16-разрядную версию LIB. Затем можно использовать извлеченный объектный файл в качестве входных данных для 32-разрядной библиотеки LIB.You must first use the 16-bit LIB to extract the object; then you can use the extracted object file as input to the 32-bit LIB.

По умолчанию LIB присваивает выходному файлу базовое имя первого объекта или файла библиотеки и Extension. lib.By default, LIB names the output file using the base name of the first object or library file and the extension .lib. Выходной файл помещается в текущий каталог.The output file is put in the current directory. Если файл с таким именем уже существует, то выходной файл заменит существующий файл.If a file already exists with the same name, the output file replaces the existing file. Чтобы сохранить существующую библиотеку, используйте параметр/OUT, чтобы указать имя выходного файла.To preserve an existing library, use the /OUT option to specify a name for the output file.

Для создания и изменения библиотеки применяются следующие параметры.The following options apply to building and modifying a library:

/Libpath: dir/LIBPATH: dir
Переопределяет путь к библиотеке среды.Overrides the environment library path. Дополнительные сведения см. в описании параметра LINK /libpath .For details, see the description of the LINK /LIBPATH option.

/LIST/LIST
Отображает сведения о выходной библиотеке для стандартного вывода.Displays information about the output library to standard output. Выходные данные можно перенаправить в файл.The output can be redirected to a file. С помощью/LIST можно определить содержимое существующей библиотеки, не изменяя ее.You can use /LIST to determine the contents of an existing library without modifying it.

/Name: имя файла/NAME: filename
При построении библиотеки импорта указывает имя библиотеки DLL, для которой строится библиотека импорта.When building an import library, specifies the name of the DLL for which the import library is being built.

/NODEFAULTLIB/NODEFAULTLIB
Удаляет одну или несколько библиотек по умолчанию из списка библиотек, поиск которых выполняется при разрешении внешних ссылок.Removes one or more default libraries from the list of libraries it searches when resolving external references. Дополнительные сведения см. в разделе /NODEFAULTLIB .See /NODEFAULTLIB for more information.

/Out: имя файла/OUT: filename
Переопределяет имя выходного файла по умолчанию.Overrides the default output filename. По умолчанию выходная библиотека создается в текущем каталоге, базовое имя первой библиотеки или объектного файла — в командной строке и в файле Extension. lib.By default, the output library is created in the current directory, with the base name of the first library or object file on the command line and the extension .lib.

/Remove: объект/REMOVE: object
Исключает указанный объект из выходной библиотеки.Omits the specified object from the output library. LIB создает выходную библиотеку, объединяя все объекты (в объектных файлах или библиотеках), а затем удаляя все объекты, указанные с помощью/РЕМОВЕ.LIB creates an output library by combining all objects (whether in object files or libraries), and then deleting any objects specified with /REMOVE.

/SUBSYSTEM:{CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | EFI_ROM | EFI_RUNTIME_DRIVER | native | POSIX | Windows | WindowsCE} [, # [. # #]]/SUBSYSTEM:{CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE}[,#[.##]]
Указывает операционной системе, как запустить программу, созданную путем связывания с выходной библиотекой.Tells the operating system how to run a program created by linking to the output library. Дополнительные сведения см. в описании параметра LINK /SUBSYSTEM .For more information, see the description of the LINK /SUBSYSTEM option.

Параметры LIB, указанные в командной строке, не учитывают регистр.LIB options specified on the command line are not case sensitive.

С помощью LIB можно выполнять следующие задачи управления библиотекой:You can use LIB to perform the following library-management tasks:

  • Чтобы добавить объекты в библиотеку, укажите имя файла для существующей библиотеки и имена файлов для новых объектов.To add objects to a library, specify the file name for the existing library and the filenames for the new objects.

  • Чтобы объединить библиотеки, укажите имена файлов библиотеки.To combine libraries, specify the library file names. Вы можете добавлять объекты и объединять библиотеки с помощью одной команды LIB.You can add objects and combine libraries with a single LIB command.

  • Чтобы заменить член библиотеки новым объектом, укажите библиотеку, содержащую заменяемый объект-член, и имя файла для нового объекта (или библиотеки, содержащей его).To replace a library member with a new object, specify the library containing the member object to be replaced and the file name for the new object (or the library that contains it). Если объект с таким же именем существует в нескольких входных файлах, LIB помещает последний объект, указанный в команде LIB, в выходную библиотеку.When an object that has the same name exists in more than one input file, LIB puts the last object specified in the LIB command into the output library. При замене элемента библиотеки обязательно укажите новый объект или библиотеку после библиотеки, содержащей старый объект.When you replace a library member, be sure to specify the new object or library after the library that contains the old object.

  • Чтобы удалить элемент из библиотеки, используйте параметр/REMOVE.To delete a member from a library, use the /REMOVE option. LIB обрабатывает все спецификации/REMOVE после объединения всех входных объектов, независимо от порядка командной строки.LIB processes any specifications of /REMOVE after combining all input objects, regardless of command-line order.

Примечание

Нельзя одновременно удалить элемент и извлечь его в файл на том же шаге.You cannot both delete a member and extract it to a file in the same step. Сначала необходимо извлечь объект члена с помощью команды/EXTRACT, а затем снова запустить программу LIB с помощью/РЕМОВЕ.You must first extract the member object using /EXTRACT, then run LIB again using /REMOVE. Это поведение отличается от 16-разрядной библиотеки (для библиотек OMF), предоставляемой другими продуктами Майкрософт.This behavior differs from that of the 16-bit LIB (for OMF libraries) provided in other Microsoft products.

См. также разделSee also

Справочник по LIBLIB Reference