.LIB

LIB-fil

Static / Import Library (COFF)
Stil et spørgsmål
HURTIGT SVAR

En .lib-fil er et compiler-bibliotek, der bruges af linkeren, når man bygger C/C++-programmer på Windows. Det er enten et statisk bibliotek (kompileret objektkode indlejret i dit program) eller et importbibliotek (stubs, der forbinder dit program til en DLL ved kørsel). Du åbner eller kører ikke en .lib - build-systemet bruger den. For at inspicere en, kør lib /list eller dumpbin /symbols fra en Visual Studio Developer Command Prompt.

Udvikler: Microsoft (with Unix ar lineage) Kategori: Udviklerfiler Åben standard MIME: application/octet-stream
ÅBNER PÅ Windows Linux
Relateret: .DO · .MD · .HEX · .XSD

På denne side

19k+ filtyper indekseret
Sidst gennemset Jun 24, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er LIB-filformatet?

En .lib-fil er en biblioteksfil, der leveres som input til linkeren. .lib-filer findes i to typer: standard statiske biblioteksfiler og COFF (Common Object File Format) importbiblioteksfiler. De statiske biblioteksfiler indeholder kompilerede .obj objektmoduler; importbiblioteksfilerne indeholder symbol- og ordinal-stubs, der peger på en .dll, hvilket giver linkeren de nødvendige oplysninger til at løse afhængigheder ved kørsel. Værktøjet LIB.EXE bruges til at oprette begge typer biblioteksfiler. På det binære niveau er en .lib et arkiv i ar-format, der starter med den 8-byte lange !<arch> signatur - den samme struktur, som bruges af Unix .a statiske biblioteker. Du kan inspicere indholdet med DUMPBIN /HEADERS eller ar -t.

Sikkerhed og tryghed

RISIKO: LOW

En .lib er data til build-tidspunktet, ikke noget Windows kører, så den udgør lille direkte risiko for slutbrugere. For udviklere er bekymringen tillid til forsyningskæden: et ondsindet eller manipuleret statisk bibliotek linker sin kode direkte ind i dit program, så brug kun .lib-filer fra betroede SDK-kilder og verificer tjeksummer/signaturer. De urelaterede spil/app .lib-arkiver er inaktive datafiler.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNStatic / Import Library (COFF)
UDVIKLERMicrosoft (with Unix ar lineage)siden COFF lineage from Unix (1980s); MS .lib via Visual C++/MS-DOS toolchains, early 1990s
MIME-TYPEapplication/octet-stream
TYPEBiblioteksarkiv af COFF-objektfiler (statisk lib) eller import-stubs (import lib)
STANDARDÅben · royaltyfri
Dette filtypenavn bruges også af…
  • Spil- / applikationsarkiv (LIB) - Nogle spil og apps (f.eks. visse titlers asset-pakker) bruger .lib som en brugerdefineret data/arkiv-container, der ikke er relateret til compiler-biblioteker.
MAGIC BYTES · FILSIGNATUR
OFFSET
0001020304050607
HEX
213C617263683E0A
ASCII
!<arch>·
En Windows/COFF .lib er et arkiv i ar-format, så det starter med den 8-byte lange «!<arch>\n» signatur (samme familie som Unix .a statiske biblioteker). De indeholdte medlemmer er COFF-objektfiler. Bemærk: visse andre produkter (f.eks. enkelte spil og apps) genbruger .lib-filendelsen til urelaterede data - disse vil ikke have denne header.

Programmer der åbner LIB-filer

Windows3 apps
Microsoft Visual Studio Freemium Tilføj .lib-filen til et projekts Linker > Input > Additional Dependencies; byg for at linke mod den. Den «åbnes» ikke for sig selv.
7-Zip Open-source Åbn .lib-filen som et arkiv for at gennemse/udtrække dens COFF-objektmedlemmer (det er et ar-arkiv).
LIB / DUMPBIN (MSVC tools) Indbygget Fra en Developer Command Prompt: «lib /list file.lib» for at liste medlemmer, eller «dumpbin /symbols file.lib» for at se symboler.
Linux1 app
binutils (ar / nm) Open-source «ar t file.lib» lister medlemmer; «nm file.lib» lister symboler (fungerer på biblioteker i ar-format, herunder MSVC .lib).

Tekniske detaljer

dyb specifikation
FormattypeArkiv af COFF-objektmoduler (statisk lib) eller import-stubs (import lib)
Magic bytes21 3C 61 72 63 68 3E 0A - ASCII "!<arch>\n" ved byte offset 0
Containerstrukturar-arkivformat; samme 8-byte signaturfamilie som Unix .a statiske biblioteker
MIME-typeapplication/octet-stream
Indhold af statisk libCOFF .obj-medlemmer indeholdende kompileret maskinkode, relokeringsposter og symboltabeller
Indhold af import libSymbolnavnetabel, DLL-navn og eksport-ordinal/navne-stubs - ingen eksekverbar maskinkode
Primær anvendelseLinker-input: Forbruges af LINK.EXE eller ld til at løse symbolreferencer på build-tidspunktet
Værktøj til oprettelseLIB.EXE (MSVC toolchain); også ar og dlltool (GNU Binutils / MinGW)
InspektionsværktøjerDUMPBIN.EXE /HEADERS, LIB.EXE /LIST, ar -t, nm
SymbolindeksFørste arkivmedlem er et symbolkort, der muliggør hurtig symbolopslag under linkning
Generering af import libAutogenereret af LINK.EXE ved bygning af en DLL; manuelt oprettet med LIB.EXE /DEF:<deffile>
Linker-kompatibilitetMicrosoft LINK.EXE, lld-link (LLVM); GNU ld via MinGW med delvis kompatibilitet
MålplatformPrimært Windows (Win32 / Win64); ældre MS-DOS toolchains
KodningBinær; COFF-poster er maskinords-justerede inde i ar-arkivmedlemmer
Unix-modstykkeUnix/Linux .a statisk biblioteksarkiv, oprettet med ar og forbrugt af ld
UdviklingshistorikMicrosoft-implementering af COFF; selve COFF stammer fra AT&T Unix System V (1983)
UdgivetCOFF lineage from Unix (1980s); MS .lib via Visual C++/MS-DOS toolchains, early 1990s
Åben standardJa · royaltyfri
Specifikationlearn.microsoft.com

LIB-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med LIB-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om LIB-filer.

Ofte stillede spørgsmål

Hvad er en .lib-fil?
Et bibliotek, der bruges ved kompilering af C/C++-programmer. Det er enten et statisk bibliotek (kompileret objektkode, som linkeren kopierer ind i dit program) eller et importbibliotek (stubs, der forbinder dit program til en DLL ved kørsel).
Hvordan åbner jeg en .lib-fil?
Du åbner den ikke som et dokument - linkeren bruger den under et build. For at inspicere en, kør «lib /list file.lib» eller «dumpbin /symbols file.lib» fra en Visual Studio Developer Command Prompt (eller «ar t» / «nm» på Linux).
Hvad er forskellen på en .lib og en .dll?
En statisk .lib bliver indlejret i dit program på build-tidspunktet (ingen afhængighed ved kørsel). En DLL indlæses ved kørsel; dens tilhørende import-.lib fortæller blot linkeren, hvilke funktioner DLL'en stiller til rådighed.
Hvordan løser jeg «cannot open file xxx.lib» (LNK1104)?
Peg linkeren mod den rigtige mappe: Tilføj bibliotekets sti under Linker > General > Additional Library Directories, og filen under Linker > Input > Additional Dependencies. Sørg for, at .lib-filen faktisk eksisterer og matcher din platform (x64/x86).
Kan jeg konvertere en .lib til en .dll eller .exe?
Der findes ingen direkte konvertering - de er forskellige build-output. Du skal rekompilere kildekoden som en DLL/EXE. Hvis det er en import-.lib, eksisterer DLL'en allerede ved siden af den.
Kan jeg udtrække .obj-filer fra en .lib?
Ja for et statisk bibliotek: Brug «lib /extract» (MSVC) eller «ar x file.lib» (Linux), eller gennemse den med 7-Zip, da det er et ar-arkiv.

Referencer

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

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

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.ICSiCalendar data file

Relaterede filtyper

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

Gratis filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å