Eine .lib-Datei ist ein Dateiformat für statische Bibliotheken, das hauptsächlich auf Windows-Systemen verwendet wird. Sie enthält vorkompilierten Code, Routinen, Funktionen und Daten, die während des Kompilierungsprozesses in ein Programm eingebunden (gelinkt) werden können. Im Gegensatz zu dynamischen Bibliotheken (DLLs) wird der Code aus einer statischen Bibliothek während des Linkens direkt in die ausführbare Datei kopiert. Dies bedeutet, dass die resultierende ausführbare Datei eigenständig ist und zur Laufzeit nicht auf externe Bibliotheksdateien auf dem System angewiesen ist. Statische Bibliotheken werden oft verwendet, um wiederverwendbare Code-Komponenten wie mathematische Funktionen, Datenstrukturen oder GUI-Elemente zu verteilen. Sie bieten den Vorteil, die Bereitstellung (Deployment) zu vereinfachen, da der gesamte benötigte Code in der ausführbaren Datei eingebettet ist. Sie können jedoch auch zu größeren ausführbaren Dateien und potenzieller Code-Duplizierung führen, wenn dieselbe Bibliothek von mehreren Programmen verwendet wird. Wenn ein Programm kompiliert wird, löst der Linker Verweise auf Funktionen und Daten innerhalb der statischen Bibliothek auf und integriert den entsprechenden Code in die endgültige ausführbare Datei. Dieser Prozess erstellt eine einzelne, unabhängige ausführbare Datei, die ausgeführt werden kann, ohne dass die .lib-Datei selbst vorhanden sein muss.