Un archivo .lib es un formato de archivo de librería estática, utilizado principalmente en sistemas Windows. Contiene código precompilado, rutinas, funciones y datos que pueden ser enlazados (linkeados) a un programa durante el proceso de compilación. A diferencia de las librerías dinámicas (DLLs), el código de una librería estática se copia directamente dentro del archivo ejecutable durante el enlazado. Esto significa que el ejecutable resultante es autocontenido y no depende de que los archivos de librería externos estén presentes en el sistema en tiempo de ejecución. Las librerías estáticas se utilizan a menudo para distribuir componentes de código reutilizables, como funciones matemáticas, estructuras de datos o elementos de interfaz gráfica de usuario (GUI). Ofrecen la ventaja de simplificar el despliegue, ya que todo el código necesario está incrustado dentro del ejecutable. Sin embargo, también pueden resultar en tamaños de ejecutable mayores y potencial duplicación de código si la misma librería es utilizada por múltiples programas. Cuando se compila un programa, el enlazador (linker) resuelve las referencias a funciones y datos dentro de la librería estática e incorpora el código correspondiente en el archivo ejecutable final. Este proceso crea un único archivo ejecutable independiente que puede ejecutarse sin requerir la presencia del propio archivo .lib.