Hva er LIB-filformatet?
En .lib-fil er en biblioteksfil som fungerer som input til linkeren. .lib-filer kommer i to varianter: standard statiske biblioteksfiler og COFF (Common Object File Format) import-biblioteksfiler. De statiske biblioteksfilene inneholder kompilerte .obj objektmoduler; import-biblioteksfilene inneholder symbol- og ordinal-stubs som peker til en .dll, noe som gir linkeren informasjonen den trenger for å løse avhengigheter ved kjøretid. Verktøyet LIB.EXE brukes til å lage begge typer biblioteksfiler. På binært nivå er en .lib et arkiv i ar-format som starter med den 8-byte lange signaturen !<arch> - den samme strukturen som brukes av Unix .a statiske biblioteker. Du kan inspisere innholdet med DUMPBIN /HEADERS eller ar -t.
Sikkerhet og trygghet
RISIKO: LOWEn .lib-fil er data for byggeprosessen, ikke noe Windows kjører, så den utgjør liten direkte risiko for sluttbrukere. For utviklere er bekymringen tillit til forsyningskjeden: et ondsinnet eller manipulert statisk bibliotek linker koden sin direkte inn i programmet ditt, så bruk kun .lib-filer fra pålitelige SDK-kilder og verifiser sjekksummer/signaturer. De urelaterte .lib-arkivene for spill/apper er inerte datafiler.
Formatdetaljer
i et nøtteskall- Spill- / applikasjonsarkiv (LIB) - Enkelte spill og apper (f.eks. ressurspakker for visse titler) bruker .lib som en tilpasset data- eller arkivbeholder urelatert til kompilatorbiblioteker.
Programmer som åpner LIB-filer
Tekniske detaljer
dyp spesifikasjon| Format-type | Arkiv av COFF-objektmoduler (statisk lib) eller import-stubs (import lib) |
| Magic bytes | 21 3C 61 72 63 68 3E 0A - ASCII «!<arch>\n» ved byte-offset 0 |
| Beholderstruktur | ar-arkivformat; samme 8-byte signaturfamilie som Unix .a statiske biblioteker |
| MIME-type | application/octet-stream |
| Innhold i statisk lib | COFF .obj-medlemmer som inneholder kompilert maskinkode, relokeringsposter og symboltabeller |
| Innhold i import-lib | Symbolnavntabell, DLL-navn og eksport-ordinal/navn-stubs - ingen kjørbar maskinkode |
| Hovedbruk | Linker-input: brukes av LINK.EXE eller ld for å løse symbolreferanser ved bygging |
| Opprettelsesverktøy | LIB.EXE (MSVC-verktøykjede); også ar og dlltool (GNU Binutils / MinGW) |
| Inspeksjonsverktøy | DUMPBIN.EXE /HEADERS, LIB.EXE /LIST, ar -t, nm |
| Symbolindeks | Første arkivmedlem er et symbolkart som muliggjør raskt symboloppslag under linking |
| Generering av import-lib | Autogenerert av LINK.EXE når man bygger en DLL; manuelt opprettet med LIB.EXE /DEF:<deffile> |
| Linker-kompatibilitet | Microsoft LINK.EXE, lld-link (LLVM); GNU ld via MinGW med delvis kompatibilitet |
| Målplattform | Hovedsakelig Windows (Win32 / Win64); eldre MS-DOS-verktøykjeder |
| Koding | Binær; COFF-poster er justert etter maskinord inne i ar-arkivmedlemmene |
| Unix-motstykke | Unix/Linux .a statisk biblioteksarkiv, opprettet med ar og brukt av ld |
| Utviklerhistorikk | Microsoft-implementering av COFF; COFF selv stammer fra AT&T Unix System V (1983) |
| Utgitt | COFF lineage from Unix (1980s); MS .lib via Visual C++/MS-DOS toolchains, early 1990s |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | learn.microsoft.com |
LIB-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om LIB-filer.