(Fonte da imagem: iStock)
DLL é a sigla para “Dynamic Link Library” e se trata de uma biblioteca dinâmica que contém dados que podem ser acessados por mais de um programa instalado no computador, inclusive simultaneamente. Elas são compostas por sub-rotinas armazenadas em disco, podendo ser carregadas na memória e executadas quando um aplicativo realiza o seu acesso.
Uma DLL pode conter código, dados ou recursos (ícones, fontes, cursores, entre outros). Assim, há DLLs para as mais variadas funções, como efetuar o gerenciamento de memória para um aplicativo ou abrir uma janela de mensagem no sistema. Um aplicativo pode conter vários desses arquivos, fazendo com que as suas funções fiquem modularizadas no SO.
Dessa maneira, você pode fazer uma atualização de um programa no Windows em vez de ser necessário remover e instalar novamente a aplicação sempre que houver uma modificação por parte do desenvolvedor. Além disso, quando vários aplicativos utilizam uma mesma biblioteca de funções, o emprego de DLLs reduz a duplicação do código carregado pelo computador.
Tal fato exerce influência no desempenho tanto do software em execução em primeiro plano quanto de as outras aplicações abertas no Windows, fazendo com que tudo fique mais rápido. Alguns dos arquivos implementados como DLLs no sistema são:
- Controles ActiveX (OCX);
- Arquivos do Painel de Controle (CPL);
- Arquivos de driver de dispositivos (DRV).
Por que usar DLLs?
Uma das vantagens de usar DLL está na economia de recursos. Quando vários programas utilizam uma mesma biblioteca de funções, o emprego de DLLs faz com que a duplicação do código carregado no disco e na memória física seja reduzida, melhorando tanto o desempenho dos aplicativos ativos (em primeiro plano) quanto das aplicações rodando em plano de fundo.
(Fonte da imagem: iStock)
Outro ponto interessante é que o uso de DLLs deixa os programas modulares, facilitando o desenvolvimento de aplicações que necessitem de versões em vários idiomas, por exemplo. Além disso, quando uma funcionalidade presente em uma DLL precisa de um ajuste, não é preciso reinstalar todos os aplicativos para executar a ação.
Além disso, apenas a modificação da DLL já é capaz de fazer a correção, e todos os programas associados a ela são beneficiados com a atualização.
Problemas com DLLs
A partir do momento no qual um programa usa uma função contida em uma DLL de outra aplicação, é criada uma dependência. Nesses casos, o aplicativo em questão passa sempre a necessitar desse arquivo e pode ter problemas. Normalmente, erros relacionados a DLLs são causados quando ocorre uma das seguintes situações:
- A DLL em questão é atualizada para uma nova versão, incompatível com determinado programa;
- O arquivo de DLL sofre modificações específicas ou é fixo;
- Uma DLL é sobrescrita com uma versão mais antiga;
- A DLL compartilhada é removida.
Esse tipo de ação gera conflitos, fazendo com que o aplicativo venha a apresentar mal funcionamento ou nem sequer seja carregado. Para evitar esse tipo de problema, a Microsoft realizou duas mudanças na estrutura do SO com relação a esse tipo de biblioteca, para minimizar problemas gerados por dependência.
(Fonte da imagem: iStock)
Primeiro, foi criada a Proteção de arquivos do Windows, a qual previne que as DLLs de sistema sejam atualizadas ou excluídas sem autorização. Segundo, houve a implementação de um sistema de DLLs particulares, que possibilitam isolar determinado programa de forma que as DLLs compartilhadas utilizadas por ele não sejam atualizadas.
Categorias