Gestione di una libreria
La modalità predefinita di LIB è la compilazione o la modifica di una libreria di oggetti COFF.LIB viene eseguito in questa modalità quando non si specifica l'opzione /EXTRACT (per copiare un oggetto in un file) o /DEF (per compilare una libreria di importazione).
Per compilare una libreria sulla base di oggetti e/o librerie, utilizzare la seguente sintassi:
LIB [options...] files...
Questo comando consente di creare una libreria da uno o più file di input (files).files può essere costituito da file oggetto COFF, file oggetto OMF a 32 bit o librerie COFF esistenti.In LIB viene creata una libreria contenente tutti gli oggetti dei file specificati.Se un file di input è un file oggetto OMF a 32 bit, viene convertito in COFF prima di procedere alla compilazione della libreria.Non vengono accettati oggetti OMF a 32 bit contenuti in librerie create con la versione di LIB a 16 bit.È necessario utilizzare innanzitutto la versione di LIB a 16 bit per estrarre l'oggetto. Il file oggetto estratto potrà quindi essere utilizzato come input per la versione di LIB a 32 bit.
Per impostazione predefinita, il file di output viene denominato utilizzando il nome di base del primo file oggetto o libreria e l'estensione LIB.Tale file viene inserito nella directory corrente.Se in tale directory è già presente un file con lo stesso nome, verrà sovrascritto dal file di output.Per conservare una libreria esistente, utilizzare l'opzione /OUT per specificare un nome per il file di output.
Le seguenti opzioni possono essere utilizzate per le operazioni di compilazione e modifica di una libreria:
/LIBPATH:dir
Consente di eseguire l'override del percorso delle librerie specificato nelle variabili di ambiente.Per informazioni dettagliate, vedere la descrizione dell'opzione /LIBPATH di LINK./LIST
Consente la visualizzazione nell'output standard di informazioni sulla libreria di output.L'output può essere reindirizzato a un file.È possibile utilizzare /LIST per determinare il contenuto di una libreria esistente senza modificarlo./NAME:filename
Quando si compila una libreria di importazione, consente di specificare il nome della DLL per la quale viene compilata tale libreria./NODEFAULTLIB
Consente la rimozione di una o più librerie predefinite dall'elenco delle librerie in cui si effettuano le ricerche per la risoluzione dei riferimenti esterni.Per ulteriori informazioni, vedere /NODEFAULTLIB./OUT:filename
Consente di eseguire l'override del nome predefinito per i file di output.Per impostazione predefinita, la libreria di output viene creata nella directory corrente, con il nome di base della prima libreria o file oggetto nella riga di comando e l'estensione LIB./REMOVE:object
Consente di omettere l'oggetto specificato dalla libreria di output.Viene creata una libreria di output combinando tutti gli oggetti (nei file oggetto o nelle librerie) ed eliminando eventuali oggetti specificati con l'opzione /REMOVE./SUBSYSTEM:{CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE}[,#[.##]]
Consente di comunicare al sistema operativo le modalità di esecuzione di un programma creato mediante collegamento alla libreria di output.Per ulteriori informazioni, vedere la descrizione dell'opzione /SUBSYSTEM di LINK.
Per le opzioni di LIB specificate nella riga di comando non viene rilevata la distinzione tra maiuscole e minuscole.
È possibile utilizzare LIB per effettuare le seguenti attività di gestione delle librerie:
Aggiungere oggetti a una libreria, specificare il nome file della libreria esistente e i nomi file dei nuovi oggetti.
Combinare due o più librerie, specificare i nomi file di tali librerie.È possibile aggiungere oggetti e combinare librerie con un unico comando LIB.
Sostituire un membro di una libreria con un nuovo oggetto, specificare la libreria contenente l'oggetto membro da sostituire e il nome file del nuovo oggetto o della libreria che lo contiene.Quando un oggetto con lo stesso nome è presente in più file di input, nella libreria di output viene inserito l'ultimo oggetto specificato nel comando LIB.Quando si sostituisce un membro di una libreria, specificare il nuovo oggetto o la nuova libreria dopo la libreria che contiene l'oggetto precedente.
Per eliminare un membro da una libreria, utilizzare l'opzione /REMOVE.Le eventuali specifiche di /REMOVE vengono elaborate dopo aver combinato tutti gli oggetti di input, indipendentemente dall'ordine specificato nella riga di comando.
[!NOTA]
Non è possibile eliminare un membro e contemporaneamente estrarlo in un file.È necessario estrarre innanzitutto l'oggetto membro mediante l'opzione /EXTRACT, quindi eseguire nuovamente LIB con l'opzione /REMOVE.Questo comportamento differisce da quello della versione di LIB a 16 bit per le librerie OMF fornita con altri prodotti Microsoft.