Vantagens do uso de DLLs
Vinculação dinâmica tem as seguintes vantagens:
Economiza memória e reduz a troca.Muitos processos podem usar uma única DLL simultaneamente, compartilhamento de uma única cópia do DLL na memória.Em contraste, Windows deve carregar uma cópia do código de biblioteca na memória para cada aplicativo é criado com uma biblioteca de vínculo estático.
Poupa espaço em disco.Muitos aplicativos podem compartilhar uma única cópia da DLL no disco.Em contraste, cada aplicativo criado com uma biblioteca de vínculo estático tem o código da biblioteca vinculado a sua imagem executável sistema autônomo uma cópia separada.
Atualizações para a DLL são mais fáceis.Quando alterar sistema autônomo funções em uma DLL, sistema autônomo aplicativos que utilizem não precisa ser recompilado ou vinculados novamente, desde que sistema autônomo argumentos de função e valores de retorno não alteram.Por outro lado, código de objeto vinculado estaticamente requer o aplicativo ser vinculados novamente quando alterar as funções.
Fornece suporte after-market.Por exemplo, um driver de vídeo DLL pode ser modificado para oferecer suporte a uma exibição que não estava disponível quando o aplicativo foi enviado.
Oferece suporte a vários idiomas de programas.Programas escritos em linguagens de programação diferentes podem chamar a função DLL mesma desde que sistema autônomo programas siga a convenção de telefonar da função.Os programas e a função DLL devem ser compatível nos seguintes aspectos: a ordem na qual a função espera os argumentos para ser enviado para a pilha, se a função ou o aplicativo é responsável pela limpeza da pilha e se os argumentos são passados nos registradores.
Fornece um mecanismo para estender as classes da biblioteca MFC.Pode derivar classes classes MFC existentes e colocá-los em uma DLL de extensão do MFC para uso pelos aplicativos MFC.
Facilita a criação de versões internacionais.Colocando recursos em uma DLL, é muito mais fácil criar as versões internacionais do aplicativo.Você pode colocar as seqüências de caracteres para cada versão de linguagem do seu aplicativo em uma DLL de recursos separado e ter as diferentes versões de linguagem carregar os recursos apropriados.
Uma desvantagem potencial ao uso de DLLs é que o aplicativo não é autônomo; depende da existência de um módulo separado de DLL.