Principy závislostí v aplikacích Visual C++

Pokud chcete určit, na kterých knihovnách Visual C++ aplikace závisí, můžete zobrazit vlastnosti projektu. (V Průzkumník řešení klikněte pravým tlačítkem myši na projekt a zvolte Vlastnosti a otevřete dialogové okno Stránky vlastností.) Ve Windows 8 a starších můžete také použít Dependency Walker (depends.exe), který poskytuje komplexnější obrázek závislostí. V novějších verzích Windows poskytuje nástroj lucasg/Dependencies podobné funkce (jedná se o nástroj třetích stran, který Microsoft nezaručuje.)

V dialogovém okně Stránky vlastností můžete prozkoumat různé stránky v části Vlastnosti konfigurace, abyste porozuměli závislostem. Pokud například váš projekt používá knihovny MFC a zvolíte Použít knihovnu MFC, použijte mfc ve sdílené knihovně DLL na stránce Vlastnosti konfigurace, Obecné, vaše aplikace za běhu závisí na knihovnách MFC DLL, jako je mfc<version.dll>. Pokud vaše aplikace nepoužívá knihovnu MFC, může záviset na knihovně CRT, pokud zvolíte hodnotu knihovny runtime knihovny LD (/MDd) nebo knihovny DLL s více vlákny (/MD) na stránce Vlastnosti konfigurace, C/C++, Generování kódu.

Pomocí depends.exe můžete prozkoumat seznam knihoven DLL, které jsou propojeny s aplikací v době načtení, a seznam jeho knihovny DLL s odloženým načtením. Pokud chcete získat úplný seznam knihoven DLL, které se dynamicky načítají za běhu, můžete použít funkci profilace v souboru depends.exe k otestování aplikace, dokud si nejste jisti, že byly provedeny všechny cesty kódu. Při ukončení relace profilace, depends.exe ukazuje, které knihovny DLL byly dynamicky načteny během běhu.

Při práci s nástrojem depends.exe je třeba si uvědomit, že knihovna DLL může mít závislost na jiné knihovně DLL nebo na konkrétní verzi knihovny DLL. Nástroj depends.exe můžete použít na vývojářském nebo cílovém počítači. Na vývojářském počítači vypíše nástroj depends.exe knihovny DLL, které jsou nutné k podpoře aplikace. Máte-li potíže se spuštěním aplikace v cílovém počítači, můžete na něj zkopírovat nástroj depends.exe a aplikaci pak otevřít v něm. Tak zjistíte, zda některá z požadovaných knihoven DLL nechybí nebo není nesprávná.

Když víte, na kterých knihovnách DLL aplikace závisí, můžete určit knihovny, které je třeba distribuovat s aplikací při nasazování do jiného počítače. Ve většině případů nemusíte distribuovat systémové knihovny DLL, ale možná budete muset distribuovat knihovny DLL pro knihovny Visual C++. Další informace naleznete v tématu Určení knihoven DLL k redistribuci.

Viz také

Nasazení desktopových aplikací