Un fichier .lib est une bibliothèque statique, une collection de routines, sous-routines, fonctions ou objets précompilés qui peuvent être utilisés dans un programme. Contrairement aux bibliothèques dynamiques (DLL), les bibliothèques statiques sont liées directement dans le fichier exécutable lors du processus de compilation. Cela signifie que le code de la bibliothèque fait partie intégrante de l'exécutable final, le rendant autonome et indépendant des dépendances de bibliothèques externes à l'exécution. Les bibliothèques statiques sont couramment utilisées pour encapsuler des modules de code réutilisables, offrant un moyen d'organiser et de partager du code entre plusieurs projets. Elles améliorent la réutilisation du code et réduisent la duplication de code. Lorsqu'un programme utilise une bibliothèque statique, l'éditeur de liens (linker) copie le code nécessaire de la bibliothèque dans le fichier exécutable du programme. Il en résulte une taille d'exécutable plus grande par rapport à l'utilisation de bibliothèques dynamiques, mais cela élimine la nécessité de distribuer et de gérer des fichiers de bibliothèque séparés. Les bibliothèques statiques sont particulièrement utiles lorsque vous souhaitez vous assurer que votre programme contient tout le code nécessaire intégré, sans dépendre de dépendances externes qui pourraient être manquantes ou incompatibles sur différents systèmes. Elles constituent une partie fondamentale du développement logiciel, en particulier dans des langages comme C et C++.