Eine .lib-Datei ist ein Dateiformat für statische Bibliotheken, das hauptsächlich unter Windows-Systemen verwendet wird. Sie enthält vorkompilierten Code, Routinen, Funktionen und Daten, die während des Kompilierungsprozesses in ein Programm gelinkt werden können. Im Gegensatz zu dynamischen Bibliotheken (DLLs) wird der Code aus einer statischen Bibliothek während des Linkvorgangs direkt in die ausführbare Datei kopiert. Dies bedeutet, dass die resultierende ausführbare Datei in sich geschlossen ist und zur Laufzeit nicht von der Anwesenheit externer Bibliotheksdateien auf dem System abhängt. Statische Bibliotheken werden häufig zur Verteilung wiederverwendbarer Codekomponenten verwendet, wie z.B. mathematische Funktionen, Datenstrukturen oder GUI-Elemente. Sie bieten den Vorteil einer vereinfachten Bereitstellung (Deployment), da der gesamte notwendige Code in die ausführbare Datei eingebettet ist. Allerdings können sie auch zu größeren ausführbaren Dateigrößen und potenzieller Code-Duplizierung führen, wenn dieselbe Bibliothek von mehreren Programmen genutzt wird. Wenn ein Programm kompiliert wird, löst der Linker (Linker) Referenzen auf Funktionen und Daten innerhalb der statischen Bibliothek auf und integriert den entsprechenden Code in die endgültige ausführbare Datei. Dieser Prozess erzeugt eine einzige, unabhängige ausführbare Datei, die ausgeführt werden kann, ohne dass die .lib-Datei selbst vorhanden sein muss.