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: LOWEn .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- 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.
Program som öppnar LIB-filer
Tekniska detaljer
djup specifikation| Formattyp | Arkiv med COFF-objektmoduler (statiskt bibl.) eller importstubbar (importbibl.) |
| Magic bytes | 21 3C 61 72 63 68 3E 0A - ASCII "!<arch>\n" vid byte-offset 0 |
| Containerstruktur | ar-arkivformat; samma 8-byte signaturfamilj som Unix .a statiska bibliotek |
| MIME-typ | application/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ändning | Indata till länkare: används av LINK.EXE eller ld för att lösa symbolreferenser vid byggtid |
| Skaparverktyg | LIB.EXE (MSVC-verktygskedja); även ar och dlltool (GNU Binutils / MinGW) |
| Inspektionsverktyg | DUMPBIN.EXE /HEADERS, LIB.EXE /LIST, ar -t, nm |
| Symbolindex | Fö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änkarkompatibilitet | Microsoft LINK.EXE, lld-link (LLVM); GNU ld via MinGW med partiell kompatibilitet |
| Målplattform | Främst Windows (Win32 / Win64); äldre MS-DOS-verktygskedjor |
| Kodning | Binär; COFF-poster är justerade efter maskinord inuti ar-arkivmedlemmar |
| Unix-motsvarighet | Unix/Linux .a statiskt biblioteksarkiv, skapat med ar och använt av ld |
| Utvecklingshistorik | Microsoft-implementering av COFF; COFF i sig härstammar från AT&T Unix System V (1983) |
| Släppt | COFF lineage from Unix (1980s); MS .lib via Visual C++/MS-DOS toolchains, early 1990s |
| Öppen standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
LIB-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om LIB-filer.