Partilhar via


Noções básicas sobre as dependências de um aplicativo Microsoft C++

Para determinar de quais bibliotecas Microsoft C++ um aplicativo depende, você pode exibir as propriedades do projeto. (No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e escolha Propriedades para abrir a caixa de diálogo Páginas de Propriedades .) No Windows 8 e versões anteriores, você também pode usar o Dependency Walker (depends.exe), que fornece uma imagem mais abrangente das dependências. Para versões mais recentes do Windows, a ferramenta lucasg/Dependencies fornece funcionalidade semelhante (esta é uma ferramenta de terceiros não garantida pela Microsoft.)

Na caixa de diálogo Páginas de Propriedades , você pode examinar várias páginas em Propriedades de Configuração para entender as dependências. Por exemplo, se seu projeto usa as bibliotecas MFC e você escolhe Usar MFC, Usar MFC em uma DLL compartilhada na página Propriedades de configuração, Geral , seu aplicativo em tempo de execução depende de DLLs MFC, como mfc<versão>.dll. Se o seu aplicativo não usa MFC, o mesmo pode depender da Biblioteca CRT se você escolher um valor de Biblioteca de Tempo de Execução de DLL de Depuração Multi-threaded (/MDd) ou DLL Multi-threaded (/MD) na página Propriedades de Configuração, C/C++, Geração de Código.

Usando depends.exe, você pode examinar uma lista de DLLs que estão vinculadas ao aplicativo no momento do carregamento e uma lista de suas DLLs carregadas com atraso. Se você quiser obter uma lista completa de DLLs que são carregadas dinamicamente em tempo de execução, você pode usar o recurso de criação de perfil no depends.exe para testar o aplicativo até ter certeza de que todos os caminhos de código foram exercitados. Quando você termina a sessão de criação de perfil, depends.exe mostra quais DLLs foram carregadas dinamicamente durante o tempo de execução.

Quando você usa depends.exe, esteja ciente de que uma DLL pode ter uma dependência em outra DLL ou em uma versão específica de uma DLL. Você pode usar depends.exe no computador de desenvolvimento ou em um computador de destino. No computador de desenvolvimento, depends.exe relata as DLLs necessárias para dar suporte a um aplicativo. Se tiveres problemas para executar uma aplicação num computador de destino, podes copiar o depends.exe para ele e, em seguida, abrir a aplicação na ferramenta para determinares se algumas DLLs necessárias estão em falta ou incorretas.

Quando você sabe de quais DLLs seu aplicativo depende, você pode determinar as que você tem que redistribuir com seu aplicativo quando você implantá-lo em outro computador. Na maioria dos casos, não é necessário redistribuir DLLs do sistema, mas talvez seja necessário redistribuir DLLs para bibliotecas Microsoft C++. Para obter mais informações, consulte Determinando quais DLLs redistribuir.

Ver também

Implementando aplicações de ambiente de trabalho