Compartilhar via


Vantagens de usar DLLs

Vinculação dinâmica tem as seguintes vantagens:

  • Economiza memória e reduz a troca. Muitos processos podem usar uma única DLL simultaneamente, o compartilhamento de uma única cópia da DLL na memória. Em contraste, o Windows deve carregar uma cópia do código de biblioteca na memória para cada aplicativo que é construído 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 desenvolvido com uma biblioteca de vínculo estático tem o código da biblioteca vinculado a sua imagem executável como uma cópia separada.

  • Upgrades para a DLL são mais fáceis. Quando as funções em uma DLL altera, os aplicativos que usá-los não precisará ser recompilado ou vinculados novamente, desde que os argumentos da função e valores de retorno não alterar. Em contraste, código de objeto vinculado de forma estática requer que o aplicativo ser vinculados novamente quando a alterar as funções.

  • Fornece suporte de 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 programas de vários idiomas. Programas escritos em diferentes linguagens de programação podem chamar a mesma função DLL, contanto que os programas seguem a convenção de chamada da função. Os programas e a função DLL devem ser compatíveis das seguintes maneiras: a ordem na qual a função espera seus argumentos para ser colocada na 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. Você pode derivar classes from existing classes do MFC e colocá-los em uma DLL de extensão MFC para uso por aplicativos MFC.

  • Facilita a criação de versões internacionais. Colocando os recursos em uma DLL, é muito mais fácil de criar versões internacionais de um aplicativo. Você pode colocar as seqüências de caracteres para cada versão de idioma do seu aplicativo em uma DLL de recurso separado e ter as versões de idioma diferente para carregar os recursos apropriados.

Uma desvantagem em potencial do uso de DLLs é que o aplicativo não é autônomo; ele depende da existência de um módulo DLL separado.

O que você deseja fazer?

O que você deseja saber mais a respeito?

Consulte também

Conceitos

DLLs