Správa knihovny
Výchozím režimem knihovny LIB je sestavení nebo úprava knihovny objektů COFF. Knihovna LIB se spustí v tomto režimu, když nezadáte /EXTRACT
(chcete zkopírovat objekt do souboru) nebo /DEF
(vytvořit knihovnu importu).
Pokud chcete vytvořit knihovnu z objektů nebo knihoven, použijte následující syntaxi:
LIB
[options...
]files...
Tento příkaz vytvoří knihovnu z jednoho nebo více vstupních souborů. files
Může files
se jednat o soubory objektů COFF, 32bitové soubory objektů OMF nebo existující knihovny COFF. Knihovna LIB vytvoří jednu knihovnu, která obsahuje všechny objekty v zadaných souborech. Pokud je vstupní soubor 32bitovým souborem objektu OMF, knihovna LIB ho před sestavením knihovny převede na COFF. Knihovna LIB nemůže přijmout 32bitový objekt OMF, který je v knihovně vytvořené 16bitovou verzí knihovny LIB. Nejprve musíte k extrakci objektu použít 16bitovou knihovnu LIB; pak můžete jako vstup do 32bitové knihovny použít extrahovaný soubor objektu.
Knihovna LIB ve výchozím nastavení pojmenuje výstupní soubor pomocí základního názvu prvního objektu nebo souboru knihovny a přípony .lib
. Výstupní soubor se vloží do aktuálního adresáře. Pokud již soubor se stejným názvem existuje, výstupní soubor nahradí existující soubor. Chcete-li zachovat existující knihovnu /OUT
, použijte možnost zadat název výstupního souboru.
Při sestavování a úpravě knihovny platí následující možnosti:
/LIBPATH:
dir
Přepíše cestu knihovny prostředí a nastaví ji na dir
. Podrobnosti najdete v popisu možnosti ODKAZ /LIBPATH
.
/LIST
Zobrazí informace o výstupní knihovně na standardní výstup. Výstup je možné přesměrovat na soubor. Obsah existující knihovny můžete /LIST
určit beze změny.
/NAME:
filename
Při vytváření knihovny importu určuje název knihovny DLL, filename
pro kterou se vytváří knihovna importu.
/NODEFAULTLIB
Odebere jednu nebo více výchozích knihoven ze seznamu knihoven, které hledá při překladu externích odkazů. Další informace najdete na webu /NODEFAULTLIB
.
/OUT:
filename
Přepíše výchozí výstupní název souboru a nahradí ho .filename
Ve výchozím nastavení se výstupní knihovna vytvoří v aktuálním adresáři se základním názvem první knihovny nebo souboru objektu na příkazovém řádku a příponou .lib
.
/REMOVE:
object
Vynechá zadané object
z výstupní knihovny. Knihovna LIB vytvoří výstupní knihovnu kombinováním všech objektů (ať už v souborech objektů nebo knihovnách) a odstraněním všech objektů zadaných pomocí /REMOVE
.
/SUBSYSTEM:
{CONSOLE
| EFI_ROM
| | NATIVE
POSIX
| WINDOWS
| | | WINDOWSCE
EFI_APPLICATION
EFI_BOOT_SERVICE_DRIVER
| EFI_RUNTIME_DRIVER
}[,#[.##]]
Říká operačnímu systému, jak spustit program vytvořený propojením s výstupní knihovnou. Další informace najdete v popisu možnosti ODKAZ /SUBSYSTEM
.
V možnostech knihovny LIB zadaných na příkazovém řádku se nerozlišuje malá a velká písmena.
Knihovnu LIB můžete použít k provádění následujících úloh správy knihoven:
Chcete-li přidat objekty do knihovny, zadejte název souboru pro existující knihovnu a názvy souborů pro nové objekty.
Chcete-li kombinovat knihovny, zadejte názvy souborů knihovny. Objekty a kombinování knihoven můžete přidat pomocí jednoho příkazu LIB.
Pokud chcete nahradit člena knihovny novým objektem, zadejte knihovnu obsahující členský objekt, který se má nahradit, a název souboru pro nový objekt (nebo knihovnu, která ho obsahuje). Pokud objekt se stejným názvem existuje ve více než jednom vstupním souboru, knihovna LIB umístí poslední objekt zadaný v příkazu LIB do výstupní knihovny. Když nahradíte člena knihovny, nezapomeňte za knihovnou obsahující starý objekt zadat nový objekt nebo knihovnu.
Pokud chcete odstranit člena z knihovny, použijte možnost /REMOVE. Knihovna LIB zpracovává všechny specifikace /REMOVE po kombinování všech vstupních objektů bez ohledu na pořadí příkazového řádku.
Poznámka:
Člena nemůžete odstranit a extrahovat ho do souboru ve stejném kroku. Nejprve je nutné extrahovat členský objekt pomocí /EXTRACT
, pak znovu spustit lib pomocí /REMOVE
. Toto chování se liší od 16bitové knihovny LIB (pro knihovny OMF) poskytované v jiných produktech Microsoftu.