Um arquivo .lib é um formato de arquivo de biblioteca estática, usado primariamente em sistemas Windows. Ele contém código pré-compilado, rotinas, funções e dados que podem ser vinculados (linked) a um programa durante o processo de compilação. Diferentemente das bibliotecas dinâmicas (DLLs), o código de uma biblioteca estática é copiado diretamente para o arquivo executável durante a fase de ligação (linking). Isso significa que o executável resultante é autocontido e não depende da presença de arquivos de biblioteca externos no sistema em tempo de execução. Bibliotecas estáticas são frequentemente utilizadas para distribuir componentes de código reutilizáveis, como funções matemáticas, estruturas de dados ou elementos de interface gráfica (GUI). Elas oferecem a vantagem de simplificar a implantação (deployment), pois todo o código necessário está embutido no executável. No entanto, elas também podem resultar em tamanhos maiores de executáveis e potencial duplicação de código se a mesma biblioteca for usada por múltiplos programas. Quando um programa é compilado, o linker resolve as referências para funções e dados dentro da biblioteca estática e incorpora o código correspondente no executável final. Este processo cria um único arquivo executável independente que pode ser executado sem a necessidade da presença do próprio arquivo .lib.