Um arquivo .lib é um formato de arquivo de biblioteca estática, utilizado primordialmente em sistemas operacionais Windows. Ele armazena código pré-compilado, rotinas, funções e dados que podem ser vinculados a um programa durante o processo de compilação e ligação. Diferente das bibliotecas dinâmicas (DLLs), o código de uma biblioteca estática é copiado integralmente para dentro do arquivo executável final durante a etapa de linking. Consequentemente, o executável resultante torna-se autossuficiente e independente, não dependendo da existência de arquivos de biblioteca externos no sistema durante o tempo de execução. Bibliotecas estáticas são amplamente empregadas para distribuir componentes de código reutilizáveis, como bibliotecas matemáticas, estruturas de dados complexas ou elementos de interface gráfica (GUI). Elas oferecem o benefício de simplificar a distribuição e implantação de software, uma vez que todo o código necessário está embutido no binário final. Contudo, o uso de bibliotecas estáticas pode aumentar o tamanho do arquivo executável e causar duplicação de código se vários programas utilizarem a mesma biblioteca. Durante a compilação, o vinculador (linker) resolve as referências a funções e dados dentro da biblioteca estática e incorpora o código correspondente, gerando um arquivo independente que dispensa o arquivo .lib original para funcionar.