
Bibliotecas(lib) são coleções de funções e recursos usados para desenvolver software. Elas ajudam a evitar a repetição de código, facilitam a manutenção e permitem a reutilização de código em diferentes programas.
Existem dois tipos principais de bibliotecas:
Uma biblioteca estática é um arquivo que contém código objeto, que é vinculado (linkado) ao programa no momento da compilação.
Características:
.a(archive), enquanto no Windows, a extensão é .lib.Vantagens:
Desvantagens:
Uma biblioteca dinâmica é um arquivo que contém código objeto que é carregado em tempo de execução, permitindo que múltiplos programas usem a mesma biblioteca.
Características:
.so(shared object), enquanto no Windows, a extensão é .dll (dynamic-link library).Vantagens:
Desvantagens:
| Característica | Biblioteca Estática | Biblioteca Dinâmica |
|---|---|---|
| Extensão | .a (Unix/Linux), .lib (Windows) |
.so (Unix/Linux), .dll (Windows) |
| Tempo de Linkagem | Compilação | Execução |
| Tamanho do Executável | Maior | Menor |
| Dependência em Tempo de Execução | Não | Sim |
| Performance | Potencialmente mais rápida | Pode ter leve sobrecarga |
| Atualização de Biblioteca | Requer recompilação | Não requer recompilação |
| Uso de Memória | Cada executável inclui a biblioteca | Bibliotecas são compartilhadas entre processos |
Cada tipo de biblioteca tem suas próprias vantagens e desvantagens, e a escolha entre uma biblioteca estática e uma dinâmica depende das necessidades específicas do seu projeto.