Zarządzanie biblioteką

Domyślnym trybem lib jest kompilowanie lub modyfikowanie biblioteki obiektów COFF. Biblioteka LIB jest uruchamiana w tym trybie, gdy nie określisz /EXTRACT (aby skopiować obiekt do pliku) lub /DEF (w celu utworzenia biblioteki importu).

Aby utworzyć bibliotekę z obiektów i/lub bibliotek, użyj następującej składni:

LIB [options...] files...

To polecenie tworzy bibliotekę na podstawie co najmniej jednego pliku wejściowego. files Mogą files to być pliki obiektów COFF, 32-bitowe pliki obiektów OMF lub istniejące biblioteki COFF. Biblioteka LIB tworzy jedną bibliotekę zawierającą wszystkie obiekty w określonych plikach. Jeśli plik wejściowy jest 32-bitowym plikiem obiektu OMF, biblioteka LIB konwertuje go na COFF przed utworzeniem biblioteki. Biblioteka LIB nie może zaakceptować 32-bitowego obiektu OMF, który znajduje się w bibliotece utworzonej przez 16-bitową wersję biblioteki LIB. Aby wyodrębnić obiekt, należy najpierw użyć 16-bitowej biblioteki LIB; następnie możesz użyć wyodrębnionego pliku obiektu jako danych wejściowych do 32-bitowej biblioteki LIB.

Domyślnie biblioteka LIB nazywa plik wyjściowy przy użyciu podstawowej nazwy pierwszego pliku obiektu lub biblioteki i rozszerzenia .lib. Plik wyjściowy jest umieszczany w bieżącym katalogu. Jeśli plik już istnieje o tej samej nazwie, plik wyjściowy zastępuje istniejący plik. Aby zachować istniejącą bibliotekę, użyj /OUT opcji , aby określić nazwę pliku wyjściowego.

Następujące opcje dotyczą kompilowania i modyfikowania biblioteki:

/LIBPATH: dir
Zastępuje ścieżkę biblioteki środowiska i ustawia ją na dir. Aby uzyskać szczegółowe informacje, zobacz opis opcji LINK /LIBPATH .

/LIST
Wyświetla informacje o bibliotece wyjściowej do standardowych danych wyjściowych. Dane wyjściowe można przekierować do pliku. Możesz użyć /LIST polecenia , aby określić zawartość istniejącej biblioteki bez jej modyfikowania.

/NAME: filename
Podczas kompilowania biblioteki importu określa nazwę biblioteki DLL, filename dla której tworzona jest biblioteka importu.

/NODEFAULTLIB
Usuwa co najmniej jedną bibliotekę domyślną z listy wyszukiwanych bibliotek podczas rozpoznawania odwołań zewnętrznych. W celu uzyskania więcej informacji, zobacz następujący temat: /NODEFAULTLIB.

/OUT: filename
Zastępuje domyślną nazwę pliku wyjściowego i zastępuje ją ciągiem filename. Domyślnie biblioteka wyjściowa jest tworzona w bieżącym katalogu z podstawową nazwą pierwszej biblioteki lub pliku obiektu w wierszu polecenia i rozszerzeniem .lib.

/REMOVE: object
Pomija określone object z biblioteki wyjściowej. Biblioteka LIB tworzy bibliotekę wyjściową, łącząc wszystkie obiekty (zarówno w plikach obiektów, jak i bibliotekach), a następnie usuwając wszystkie obiekty określone za pomocą /REMOVEpolecenia .

/SUBSYSTEM:{CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE}[,#[.##]]
Informuje system operacyjny, jak uruchomić program utworzony przez połączenie z biblioteką wyjściową. Aby uzyskać więcej informacji, zobacz opis opcji LINK /SUBSYSTEM .

Opcje LIB określone w wierszu polecenia nie są uwzględniane wielkości liter.

Za pomocą biblioteki LIB można wykonywać następujące zadania zarządzania bibliotekami:

  • Aby dodać obiekty do biblioteki, określ nazwę pliku dla istniejącej biblioteki i nazwy plików dla nowych obiektów.

  • Aby połączyć biblioteki, określ nazwy plików biblioteki. Można dodawać obiekty i łączyć biblioteki za pomocą jednego polecenia LIB.

  • Aby zastąpić element członkowski biblioteki nowym obiektem, określ bibliotekę zawierającą obiekt członkowski, który ma zostać zastąpiony, oraz nazwę pliku dla nowego obiektu (lub bibliotekę, która ją zawiera). Jeśli obiekt o tej samej nazwie istnieje w więcej niż jednym pliku wejściowym, biblioteka LIB umieszcza ostatni obiekt określony w poleceniu LIB w bibliotece wyjściowej. Po zastąpieniu elementu członkowskiego biblioteki należy określić nowy obiekt lub bibliotekę po bibliotece zawierającej stary obiekt.

  • Aby usunąć element członkowski z biblioteki, użyj opcji /REMOVE. Biblioteka LIB przetwarza wszelkie specyfikacje /REMOVE po połączeniu wszystkich obiektów wejściowych, niezależnie od kolejności wiersza polecenia.

Uwaga

Nie można usunąć elementu członkowskiego i wyodrębnić go do pliku w tym samym kroku. Najpierw należy wyodrębnić obiekt członkowski przy użyciu polecenia /EXTRACT, a następnie ponownie uruchomić bibliotekę LIB przy użyciu polecenia /REMOVE. To zachowanie różni się od 16-bitowej biblioteki LIB (dla bibliotek OMF) dostępnych w innych produktach firmy Microsoft.

Zobacz też

LIB — dokumentacja