.LIB

LIB-fil

Static / Import Library (COFF)
Ställ en fråga
SNABBT SVAR

En .lib-fil är ett kompilatorbibliotek som används av länkaren när man bygger C/C++-program på Windows. Det är antingen ett statiskt bibliotek (kompilerad objektkod som bakas in i ditt program) eller ett importbibliotek (stubbar som kopplar ditt program till en DLL vid körning). Du öppnar eller kör inte en .lib - byggsystemet använder den. För att inspektera en, kör lib /list eller dumpbin /symbols från en Visual Studio Developer Command Prompt.

Utvecklare: Microsoft (with Unix ar lineage) Kategori: Utvecklarfiler Öppen standard MIME: application/octet-stream
ÖPPNAS PÅ Windows Linux
Relaterat: .DO · .MD · .HEX · .XSD

På denna sida

19k+ filtillägg indexerade
Senast granskad Jun 24, 2026

Osäker på vad din fil är?

Släpp valfri fil i vår identifierare - vi läser bara de första byten för att namnge formatet.

Identifiera en fil

Vad är filformatet LIB?

En .lib-fil är en biblioteksfil som tillhandahålls som indata till länkaren. .lib-filer finns i två varianter: vanliga statiska biblioteksfiler och COFF (Common Object File Format) importbiblioteksfiler. De statiska biblioteksfilerna innehåller kompilerade .obj-objektmoduler; importbiblioteksfilerna innehåller symbol- och ordinalstubbar som pekar på en .dll, vilket ger länkaren den information den behöver för att lösa beroenden vid körning. Verktyget LIB.EXE används för att skapa båda typerna av biblioteksfiler. På binär nivå är en .lib ett arkiv i ar-format som börjar med den 8 byte långa signaturen !<arch> - samma struktur som används av Unix .a statiska bibliotek. Du kan inspektera innehållet med DUMPBIN /HEADERS eller ar -t.

Säkerhet & trygghet

RISK: LOW

En .lib-fil är data för byggtid, inte något som Windows kör, så den utgör liten direkt risk för slutanvändare. För utvecklare är oron förtroende för leveranskedjan: ett skadligt eller manipulerat statiskt bibliotek länkar in sin kod direkt i ditt program, så använd endast .lib-filer från betrodda SDK-källor och verifiera kontrollsummor/signaturer. De orelaterade .lib-arkiven för spel/appar är inerta datafiler.

Formatdetaljer

i ett nötskal
FULLSTÄNDIGT NAMNStatic / Import Library (COFF)
UTVECKLAREMicrosoft (with Unix ar lineage)sedan COFF lineage from Unix (1980s); MS .lib via Visual C++/MS-DOS toolchains, early 1990s
MIME-TYPapplication/octet-stream
TYPBiblioteksarkiv med COFF-objektfiler (statiskt bibl.) eller importstubbar (importbibl.)
STANDARDÖppen · royaltyfri
Detta filtillägg används också av…
  • Spel- / applikationsarkiv (LIB) - Vissa spel och appar (t.ex. resurspaket för vissa titlar) använder .lib som en anpassad data- eller arkivcontainer som inte är relaterad till kompilatorbibliotek.
MAGIC BYTES · FILSIGNATUR
OFFSET
0001020304050607
HEX
213C617263683E0A
ASCII
!<arch>·
En Windows/COFF .lib är ett arkiv i ar-format, så det börjar med den 8 byte långa signaturen «!<arch>\n» (samma familj som Unix .a statiska bibliotek). De inneslutna medlemmarna är COFF-objektfiler. Notera: vissa andra produkter (t.ex. vissa spel och appar) återanvänder filändelsen .lib för orelaterad data - dessa kommer inte att ha denna header.

Program som öppnar LIB-filer

Windows3 apps
Microsoft Visual Studio Freemium Lägg till .lib-filen i ett projekts Linker > Input > Additional Dependencies; bygg för att länka mot den. Den «öppnas» inte separat.
7-Zip Öppen källkod Öppna .lib-filen som ett arkiv för att bläddra i eller extrahera dess COFF-objektmedlemmar (det är ett ar-arkiv).
LIB / DUMPBIN (MSVC tools) Inbyggd Från en Developer Command Prompt: «lib /list file.lib» för att lista medlemmar, eller «dumpbin /symbols file.lib» för att se symboler.
Linux1 app
binutils (ar / nm) Öppen källkod «ar t file.lib» listar medlemmar; «nm file.lib» listar symboler (fungerar på arkiv i ar-format inklusive MSVC .lib).

Tekniska detaljer

djup specifikation
FormattypArkiv med COFF-objektmoduler (statiskt bibl.) eller importstubbar (importbibl.)
Magic bytes21 3C 61 72 63 68 3E 0A - ASCII "!<arch>\n" vid byte-offset 0
Containerstrukturar-arkivformat; samma 8-byte signaturfamilj som Unix .a statiska bibliotek
MIME-typapplication/octet-stream
Innehåll i statiskt bibl.COFF .obj-medlemmar som innehåller kompilerad maskinkod, relokeringsposter och symboltabeller
Innehåll i importbibl.Symbolnamnstabell, DLL-namn och export-ordinal/namnstubbar - ingen exekverbar maskinkod
Primär användningIndata till länkare: används av LINK.EXE eller ld för att lösa symbolreferenser vid byggtid
SkaparverktygLIB.EXE (MSVC-verktygskedja); även ar och dlltool (GNU Binutils / MinGW)
InspektionsverktygDUMPBIN.EXE /HEADERS, LIB.EXE /LIST, ar -t, nm
SymbolindexFörsta arkivmedlemmen är en symbolkarta som möjliggör snabb symbolsökning vid länkning
Generering av importbibl.Autogenereras av LINK.EXE när en DLL byggs; skapas manuellt med LIB.EXE /DEF:<deffile>
LänkarkompatibilitetMicrosoft LINK.EXE, lld-link (LLVM); GNU ld via MinGW med partiell kompatibilitet
MålplattformFrämst Windows (Win32 / Win64); äldre MS-DOS-verktygskedjor
KodningBinär; COFF-poster är justerade efter maskinord inuti ar-arkivmedlemmar
Unix-motsvarighetUnix/Linux .a statiskt biblioteksarkiv, skapat med ar och använt av ld
UtvecklingshistorikMicrosoft-implementering av COFF; COFF i sig härstammar från AT&T Unix System V (1983)
SläpptCOFF lineage from Unix (1980s); MS .lib via Visual C++/MS-DOS toolchains, early 1990s
Öppen standardJa · royaltyfri
Specifikationlearn.microsoft.com

LIB-konverteringar

Frågor & svar

frågat av användare
Ställ en snabb fråga
Få hjälp från personer som arbetar med LIB-filer. Var specifik - inkludera ditt system och programversion.
Inget konto behövs · svar vanligtvis inom en dag

Inga frågor än - bli den första att fråga om LIB-filer.

Vanliga frågor

Vad är en .lib-fil?
Ett bibliotek som används vid kompilering av C/C++-program. Det är antingen ett statiskt bibliotek (kompilerad objektkod som länkaren kopierar in i ditt program) eller ett importbibliotek (stubbar som ansluter ditt program till en DLL vid körning).
Hur öppnar jag en .lib-fil?
Du öppnar den inte som ett dokument - länkaren använder den under ett bygge. För att inspektera en, kör «lib /list file.lib» eller «dumpbin /symbols file.lib» från en Visual Studio Developer Command Prompt (eller «ar t» / «nm» på Linux).
Vad är skillnaden mellan en .lib och en .dll?
En statisk .lib bakas in i ditt program vid byggtiden (inget beroende vid körning). En DLL laddas vid körning; dess tillhörande import-.lib talar bara om för länkaren vilka funktioner DLL-filen tillhandahåller.
Hur fixar jag «cannot open file xxx.lib» (LNK1104)?
Peka länkaren på rätt mapp: lägg till bibliotekets sökväg under Linker > General > Additional Library Directories, och filen under Linker > Input > Additional Dependencies. Se till att .lib-filen faktiskt existerar och matchar din plattform (x64/x86).
Kan jag konvertera en .lib till en .dll eller .exe?
Ingen direkt konvertering existerar - de är olika typer av byggresultat. Du skulle behöva kompilera om källkoden som en DLL/EXE. Om det är en import-.lib finns DLL-filen redan bredvid den.
Kan jag extrahera .obj-filer från en .lib?
Ja för ett statiskt bibliotek: använd «lib /extract» (MSVC) eller «ar x file.lib» (Linux), eller bläddra i den med 7-Zip eftersom det är ett ar-arkiv.

Referenser

1Microsoft Learn - LIB reference (Library Manager)learn.microsoft.com
2Microsoft Learn - DUMPBIN referencelearn.microsoft.com

Fortsätt utforska

genom databasen

Populära filtillägg denna vecka

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.PARTPartial Download File
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.DBSQLite Database File

Relaterade filtillägg

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Gratis filverktyg

En filidentifierare och bildkonverterare direkt i webbläsaren - allt körs på din enhet.

Öppna verktygslådan

Bläddra bland filtillägg A-Ö