Sdílet prostřednictvím


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 verzích můžete použít také walker závislostí (depends.exe), který poskytuje komplexnější přehled o závislostech. 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é, aplikace za běhu závisí na knihovnách MFC DLL, jako je například verze> mfc<.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 propojené s aplikací v době načítání, a seznam jeho knihoven DLL načtených zpožděním. Pokud chcete získat úplný seznam knihoven DLL, které se dynamicky načítají za běhu, můžete pomocí funkce profilace v depends.exe otestovat aplikaci, dokud si nejste jistí, že všechny cesty kódu byly uplatněny. Po ukončení relace profilace depends.exe ukazuje, které knihovny DLL byly dynamicky načteny během doby 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í