No Linux, uma biblioteca compartilhada é uma coleção de código e recursos que podem ser usados por vários programas simultaneamente. Aqui está um colapso:
O que é: *
Código reutilizável: Pense nisso como uma caixa de ferramentas de funções, rotinas e estruturas de dados pré-escritas que podem ser acessadas por diferentes programas sem serem copiados no arquivo executável de cada programa.
*
Linking dinâmico: As bibliotecas compartilhadas são carregadas na memória apenas quando um programa precisa delas, em vez de estar estaticamente vinculado ao arquivo executável do programa no momento da compilação. Isso torna os programas menores e mais rápidos para carregar.
*
Eficiência: As bibliotecas compartilhadas economizam espaço no disco e na memória, porque são carregadas apenas uma vez, mesmo que vários programas os usem. As atualizações da biblioteca compartilhada também são mais fáceis de gerenciar, porque apenas a biblioteca precisa ser atualizada, nem todos os programas que a usam.
como funciona: 1.
Compilação: Quando você compila um programa, o compilador vincula o programa às bibliotecas compartilhadas necessárias. Ele não incorpora o código da biblioteca no executável, mas armazena referências à biblioteca.
2.
tempo de execução: Quando você executa o programa, o sistema operacional carrega dinamicamente a biblioteca compartilhada na memória. O programa pode acessar as funções e recursos fornecidos pela biblioteca.
3.
Vários programas: Vários programas podem usar a mesma biblioteca compartilhada simultaneamente. O sistema operacional gerencia o acesso aos recursos da biblioteca para evitar conflitos.
Por que é útil: *
REUSIBILIDADE DE CÓDIGO: As bibliotecas compartilhadas promovem a reutilização do código, reduzindo o tempo e o esforço de desenvolvimento.
*
modularidade: Eles permitem que os programas sejam divididos em componentes menores e mais gerenciáveis, facilitando o desenvolvimento e a manutenção.
*
Eficiência de recursos: Como mencionado, eles economizam espaço e memória reduzindo a duplicação de código.
*
Atualizações fáceis: A atualização das bibliotecas compartilhadas afeta todos os programas usando -os, simplificando a manutenção e as atualizações.
Exemplos: *
libc.so: A biblioteca padrão C é uma biblioteca compartilhada do núcleo usada por quase todos os programas Linux.
*
libstdc ++. Então: A biblioteca padrão C ++, essencial para os programas C ++.
*
libx11.so: Usado para X Window System Graphics e exibir.
*
libgtk-3.so: Para o kit de ferramentas de interface do usuário GTK+.
Considerações importantes: *
Inferno de dependência: As dependências compartilhadas da biblioteca podem levar a problemas de compatibilidade se forem necessárias versões diferentes por programas diferentes. Gerentes de pacotes como Apt ou Yum ajudam a gerenciar essas dependências.
*
Versão: As bibliotecas compartilhadas geralmente têm números de versão para garantir a compatibilidade.
* Locais da biblioteca: As bibliotecas compartilhadas geralmente residem nos diretórios `/lib` ou`/usr/lib`.
A compreensão das bibliotecas compartilhadas é crucial para trabalhar com sistemas Linux, pois são um componente fundamental de como os aplicativos interagem com o sistema operacional e entre si.