DLLs no Visual C++
Uma DLL (biblioteca de vínculo dinâmico) é um arquivo executável que atua como uma biblioteca compartilhada de funções. A vinculação dinâmica permite que um processo chame uma função que não faz parte de seu código executável. O código executável para a função está localizado em uma DLL, que contém uma ou mais funções que são compiladas, vinculadas e armazenadas separadamente dos processos que as usam. As DLLs também facilitam o compartilhamento de dados e recursos. Vários aplicativos podem acessar simultaneamente o conteúdo de uma única cópia de uma DLL na memória.
A vinculação dinâmica é diferente da vinculação estática, pois permite que um módulo executável (um arquivo .dll ou .exe) inclua somente as informações necessárias no tempo de execução para localizar o código executável para uma função DLL. Na vinculação estática, o vinculador obtém todas as funções de referência da biblioteca de vínculo estático e as coloca com seu código no executável.
O uso da vinculação dinâmica em vez da vinculação estática oferece várias vantagens. As DLLs economizam memória, reduzem as trocas, economizam espaço em disco, são atualizadas com mais facilidade, fornecem suporte pós-mercado, fornecem um mecanismo para estender as classes de biblioteca MFC, oferecem suporte a programas multilinguagem e facilitam a criação de versões internacionais.
Os tópicos a seguir fornecem informações detalhadas sobre DLLs de programação.
Nesta seção
Passo a passo: criando e usando uma biblioteca de vínculo dinâmico (C++)
Descreve como criar e usar uma DLL com o Visual Studio.Diferenças entre aplicativos e DLLs
Descreve as diferenças fundamentais entre aplicativos e DLLs.Vantagens de usar DLLs
Descreve as vantagens da vinculação dinâmica.Tipos de DLLs
Fornece informações sobre os diferentes tipos de DLLs que podem ser compilados.Perguntas frequentes sobre DLLs
Fornece respostas para perguntas frequentes sobre DLLs.Vinculando um executável a uma DLL
Descreve a vinculação explícita e implícita a uma DLL.Inicializando uma DLL
Fala sobre o código de inicialização da DLL (como alocação de memória) que deve ser executado quando a DLL é carregada.Comportamento da biblioteca em tempo de execução
Descreve como a biblioteca em tempo de execução executa a sequência de inicialização da DLL.LoadLibrary e AfxLoadLibrary
Descreve o uso de LoadLibrary e AfxLoadLibrary para criar um link explicitamente para uma DLL.GetProcAddress
Descreve o uso de GetProcAddress para obter o endereço de uma função exportada na DLL.FreeLibrary e AfxFreeLibrary
Descreve o uso de FreeLibrary e AfxFreeLibrary quando o módulo da DLL não é mais necessário.Caminho de pesquisa usado pelo Windows para localizar uma DLL
Descreve o caminho de pesquisa que o sistema operacional Windows usa para localizar uma DLL em seu sistema.Estados de módulo de uma DLL normal vinculada dinamicamente ao MFC
Descreve os estados de módulo de uma DLL normal vinculada dinamicamente ao MFC.DLLs de extensão
Explica as DLLs que normalmente implementam classes reutilizáveis derivadas das classes existentes da biblioteca Microsoft Foundation Class.Criando uma DLL somente de recurso
Descreve uma DLL somente de recurso, que contém apenas recursos, como ícones, bitmaps, cadeias de caracteres e caixas de diálogo.Recursos localizados em aplicativos MFC: DLLs satélite
Fornece suporte avançado para DLLs satélite, um recurso que ajuda na criação de aplicativos localizados para vários idiomas.Importando e exportando
Descreve a importação de símbolos públicos para um aplicativo ou a exportação de funções de uma DLLTecnologia e DLLs ativas
Permite que os servidores de objetos sejam implementados completamente dentro de uma DLL.Automação em uma DLL
Descreve o que a opção de automação no assistente de DLL do MFC fornece.Convenções de nomenclatura para DLLs do MFC
Discute como as DLLs e as bibliotecas incluídas no MFC seguem uma convenção de nomenclatura estruturada.Chamando funções de DLL de aplicativos do Visual Basic
Descreve como chamar funções de DLL a partir de aplicativos do Visual Basic.
Seções relacionadas
Usando o MFC como parte de uma DLL
Descreve DLLs normais, que permitem que você use a biblioteca do MFC como parte de uma biblioteca de vínculo dinâmico do Windows.Versão da DLL do MFC
Descreve como você pode usar as bibliotecas compartilhadas de vínculo dinâmico MFCxx.dll e MFCxxD.dll (onde x é o número da versão do MFC) com aplicativos do MFC e DLLs de extensão.Common Programming Methodologies
Fornece links para tópicos que descrevem informações conceituais sobre as bibliotecas do Visual C++ e tópicos que descrevem diversas tecnologias e técnicas de codificação.