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. Aby uzyskać więcej informacji, zobacz /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ą /REMOVE
polecenia .
/SUBSYSTEM:
{CONSOLE
| EFI_ROM
| | NATIVE
POSIX
| WINDOWS
| | | WINDOWSCE
EFI_APPLICATION
EFI_BOOT_SERVICE_DRIVER
| EFI_RUNTIME_DRIVER
}[,#[.##]]
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.