Gestione di una libreria
La modalità predefinita per LIB consiste nel compilare o modificare una libreria di oggetti COFF. LIB viene eseguito in questa modalità quando non si specifica /EXTRACT
(per copiare un oggetto in un file) o /DEF
(per compilare una libreria di importazione).
Per compilare una libreria da oggetti e/o librerie, usare la sintassi seguente:
LIB
[options...
]files...
Questo comando crea una libreria da uno o più file di input, files
. files
può essere file oggetto COFF, file oggetto OMF a 32 bit o librerie COFF esistenti. LIB crea una libreria che contiene tutti gli oggetti nei file specificati. Se un file di input è un file oggetto OMF a 32 bit, LIB lo converte in COFF prima di compilare la libreria. LIB non può accettare un oggetto OMF a 32 bit che si trova in una libreria creata dalla versione a 16 bit di LIB. È prima necessario usare lib a 16 bit per estrarre l'oggetto; è quindi possibile usare il file oggetto estratto come input per lib a 32 bit.
Per impostazione predefinita, LIB denomina il file di output usando il nome di base del primo file di libreria o oggetto e l'estensione .lib
. Il file di output viene inserito nella directory corrente. Se esiste già un file con lo stesso nome, il file di output sostituisce il file esistente. Per mantenere una libreria esistente, usare l'opzione /OUT
per specificare un nome per il file di output.
Le opzioni seguenti si applicano alla compilazione e alla modifica di una libreria:
/LIBPATH:
dir
Esegue l'override del percorso della libreria dell'ambiente e lo imposta su dir
. Per informazioni dettagliate, vedere la descrizione dell'opzione LINK /LIBPATH
.
/LIST
Visualizza informazioni sulla libreria di output per l'output standard. L'output può essere reindirizzato a un file. È possibile usare /LIST
per determinare il contenuto di una libreria esistente senza modificarlo.
/NAME:
filename
Quando si compila una libreria di importazione, filename
specifica il nome della DLL per cui viene compilata la libreria di importazione.
/NODEFAULTLIB
Rimuove una o più librerie predefinite dall'elenco di librerie in cui esegue la ricerca durante la risoluzione di riferimenti esterni. Per ulteriori informazioni, vedere /NODEFAULTLIB
.
/OUT:
filename
Esegue l'override del nome file di output predefinito e lo sostituisce con filename
. Per impostazione predefinita, la libreria di output viene creata nella directory corrente, con il nome di base del primo file di libreria o oggetto nella riga di comando e l'estensione .lib
.
/REMOVE:
object
Omette l'oggetto specificato object
dalla libreria di output. LIB crea una libreria di output combinando tutti gli oggetti (sia nei file oggetto che nelle librerie) e quindi eliminando tutti gli oggetti specificati con /REMOVE
.
/SUBSYSTEM:
{CONSOLE
| EFI_ROM
| | NATIVE
POSIX
| WINDOWS
| | | WINDOWSCE
EFI_APPLICATION
EFI_BOOT_SERVICE_DRIVER
| EFI_RUNTIME_DRIVER
}[,#[.##]]
Indica al sistema operativo come eseguire un programma creato collegando la libreria di output. Per altre informazioni, vedere la descrizione dell'opzione LINK /SUBSYSTEM
.
Le opzioni LIB specificate nella riga di comando non fanno distinzione tra maiuscole e minuscole.
È possibile usare LIB per eseguire le attività di gestione della libreria seguenti:
Per aggiungere oggetti a una libreria, specificare il nome file per la libreria esistente e i nomi file per i nuovi oggetti.
Per combinare le librerie, specificare i nomi dei file di libreria. È possibile aggiungere oggetti e combinare librerie con un singolo comando LIB.
Per sostituire un membro della libreria con un nuovo oggetto, specificare la libreria contenente l'oggetto membro da sostituire e il nome del file per il nuovo oggetto (o la libreria che lo contiene). Quando un oggetto con lo stesso nome esiste in più file di input, LIB inserisce l'ultimo oggetto specificato nel comando LIB nella libreria di output. Quando si sostituisce un membro della libreria, assicurarsi di specificare il nuovo oggetto o la libreria dopo la libreria che contiene l'oggetto precedente.
Per eliminare un membro da una libreria, usare l'opzione /REMOVE. LIB elabora tutte le specifiche di /REMOVE dopo aver combinato tutti gli oggetti di input, indipendentemente dall'ordine della riga di comando.
Nota
Non è possibile eliminare un membro ed estrarlo in un file nello stesso passaggio. È prima necessario estrarre l'oggetto membro usando /EXTRACT
, quindi eseguire di nuovo LIB usando /REMOVE
. Questo comportamento è diverso da quello della libreria A 16 bit (per le librerie OMF) fornita in altri prodotti Microsoft.