DLL - Dynamic-link library
Dynamic-link library (também escrito unhyphenated) ou DLL, é Microsoft implementação 's da biblioteca compartilhada conceito no Microsoft Windows e 2 OS / sistemas operacionais . Essas bibliotecas geralmente tem a extensão de arquivo DLL, OCX (para bibliotecas que contêm ActiveX controles), ou DRV (para herdado drivers do sistema ). Os formatos de arquivos para DLL são os mesmos que para o Windows EXE arquivos - isto é, Portable Executable (PE) para 32-bit e 64-bit do Windows, e New Executable (NE) para 16-bit do Windows. Tal como acontece com EXEs, DLLs pode conter código , dados e recursos , em qualquer combinação.
Dados arquivos com o mesmo formato de arquivo
como uma DLL, mas com diferentes extensões de arquivo e, possivelmente,
contendo apenas as seções de recursos, pode ser chamado de DLL de recursos. Exemplos de tais DLLs incluem ícone bibliotecas, às vezes com a extensão ICL, e fonte arquivos, com as extensões FON e FOT.
As primeiras versões do Microsoft Windows correu programas juntos em um único espaço de endereço . Cada programa foi concebido para cooperar por ceder a CPU para outros programas, de modo que a interface gráfica do usuário (GUI) poderia multitarefa e ser maximamente sensível. Todas as operações de nível de sistema operacional foram fornecidos pelo sistema operacional subjacente: MS-DOS . Todos os serviços de nível superior foram fornecidos pelo Windows Bibliotecas "Dynamic Link Library". O Drawing API , GDI , foi implementada em uma DLL chamada GDI.EXE, a interface do usuário em USER.EXE. Essas camadas extras em cima do DOS tinha de ser compartilhado entre todos os programas do Windows, e não apenas para permitir que o Windows para trabalhar em uma máquina com menos de um megabyte de memória RAM, mas para permitir que os programas de cooperar entre si. O Graphics Device Interface código GDI necessário para traduzir comandos de desenho para as operações em dispositivos específicos. No visor, ele tinha que manipular pixels no frame buffer. Ao desenhar a uma impressora, as chamadas de API tiveram que ser transformados em pedidos para uma impressora. Embora pudesse ter sido possível fornecer suporte embutido para um conjunto limitado de dispositivos (como o Color Graphics Adapter exibição, o HP LaserJet Printer Command Language ), a Microsoft escolheu uma abordagem diferente. GDI iria trabalhar, carregando diferentes partes do código, chamadas de " drivers ", para trabalhar com diferentes dispositivos de saída.
O mesmo conceito arquitetônico que permitiu GDI para carregar
diferentes drivers de dispositivo é o que permitiu que o shell do
Windows para carregar diferentes programas do Windows, e para estes
programas para invocar chamadas de API para o usuário comum e
bibliotecas GDI. Esse conceito foi "ligação dinâmica".
Em uma biblioteca convencional não compartilhado "estático", seções de
código são simplesmente adicionados ao programa de chamada quando o seu
executável é construído na fase de "vinculação", se dois programas de
chamar a mesma rotina, a rotina está incluído em ambos os programas
durante o estágio de ligação dos dois. Com ligação dinâmica, código compartilhado é colocado em um único arquivo separado.
Os programas que exigem esse arquivo estão conectados a ele em tempo de
execução, com o sistema operacional (ou, no caso de versões anteriores
do Windows, o OS-extensão), realizando a ligação.
Para essas primeiras versões do Windows (1,0-3,11), a DLLs foram a base para a GUI inteiro.
- Drivers de vídeo eram apenas DLLs com uma extensão. DRV que forneceu implementações personalizadas do mesmo desenho API através de um sistema unificado de driver de dispositivo de interface (DDI).
- O Desenho (GDI) e GUI (USER) APIs eram meramente a função chama exportado pelo GDI e USER, DLLs do sistema com a extensão. EXE.
Essa idéia de construir o sistema operacional a partir de uma coleção
de bibliotecas carregadas dinamicamente é um conceito central do Windows
que persiste até hoje. DLLs fornecem os benefícios padrão de bibliotecas compartilhadas , como a modularidade .
A modularidade permite que alterações sejam feitas para código e dados
em uma única DLL auto-suficiente compartilhados por vários aplicativos,
sem qualquer alteração dos próprios aplicativos.
Outro benefício da modularidade é o uso de interfaces genéricas para plug-ins.
Uma única interface pode ser desenvolvida que permite antigos, bem como
novos módulos sejam integrados sem problemas em tempo de execução em
aplicações pré-existentes, sem qualquer modificação no próprio
aplicativo. Este conceito de extensibilidade dinâmica é levado ao extremo com o Component Object Model , as bases de ActiveX .
No Windows 1.x, 2.xe 3.x, todos os aplicativos Windows compartilhavam o mesmo espaço de endereço, bem como a mesma memória.
A DLL apenas foi carregado uma vez para este espaço de endereço, a
partir de então, todos os programas que usam a biblioteca acessada lo. Os dados da biblioteca foi compartilhada entre todos os programas. Isto poderia ser utilizado como uma forma indirecta de comunicação entre processos , ou pode acidentalmente corromper dos diferentes programas. Com a introdução de bibliotecas de 32 bits no Windows 95 cada processo é executado em seu próprio espaço de endereço.
Enquanto o código DLL pode ser compartilhada, os dados são privados,
exceto onde os dados compartilhados é explicitamente solicitado pela
biblioteca. Dito isso, grandes extensões de Windows 95 , Windows 98 e Windows Me foram construídas a partir de bibliotecas de 16 bits, o que limitava o desempenho do Pentium Pro
microprocessador quando lançado, e, finalmente, limitado a estabilidade
e escalabilidade das versões baseadas em DOS do Windows.
Embora DLLs são o núcleo da arquitetura do Windows, eles têm vários inconvenientes, coletivamente chamadas de " inferno DLL ". Microsoft promove atualmente . NET Framework como uma solução para os problemas do inferno DLL, embora agora promover soluções de virtualização baseadas em tais como Microsoft Virtual PC e Microsoft Application Virtualization , porque eles oferecem isolamento superior entre as aplicações. Uma solução alternativa para mitigar o inferno DLL tem vindo a implementar montagem lado a lado .
Fonte de Dados: wikipedia
Se você estiver tendo alguma dificuldade com alguma dll instalada em seu Windows e fica dando aquele aviso chato na tela, visite o Site Dll-Files.com. Nele você encontrara mais de 1000 arquivos prontos para download.
Nenhum comentário :
Postar um comentário
Deixe aqui seu comentário gostando ou não para melhorarmos.