Sdílet prostřednictvím


Vysvětlení závislostí aplikace Visual C++

Jedním ze způsobů jak zjistit, na kterých knihovnách Visual C++ vaše aplikace závisí je prohlédnout si Kartu Obecné v dialogovém okně Stránky vlastností pro váš projekt. Můžete například vidět, že váš projekt používá knihovny MFC a ATL. Pokud jste zvolili Dynamické knihovny MFC použití, za běhu aplikace závisí na dll MFC, například mfc100.dll. Pokud vaše aplikace nepoužívá MFC nebo ATL, může stále záviset na knihovně CRT, pokud jste zvolili Multi-Threaded Debug DLL (/MDd) pro Runtime Library na kartě Code Generation ve větvi C/C++ Konfiguračních vlastností.

Nejúplnější způsob, jak určit, na kterých knihovnách DLL vaše aplikace závisí, je otevřít aplikaci pomocí Dependency Walker (depends.exe). Dependency Walker můžete stáhnout z http://www.dependencywalker.com.

Pomocí depends.exe nebo nástroje DUMPBIN s parametrem /DEPENDENTS uvidíte seznam knihoven DLL, které se staticky odkazují na vaši aplikaci a seznam knihoven DLL aplikace, které jsou načítány se zpožděním.

Chcete-li se podívat, které knihovny DLL, jako jsou například ovládací prvky technologie ActiveX, jsou dynamicky zaváděny, použijte funkce profilování depends.exe. Poté testujte vaši aplikaci dokud si nebudete jisti, že byly využity všechny cesty kódu. Po ukončení relace profilování zobrazí depends.exe které knihovny DLL byly dynamicky načteny.

Při použití 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. Můžete použít depends.exe buď na vývojovém počítači nebo na cílovém počítači. Na vývojovém počítači hlásí depends.exe knihovny DLL, které jsou nutné k podpoře aplikace. Pokud máte potíže při spouštění aplikace v cílovém počítači, můžete zkopírovat depends.exe do cílového počítače a otevřít aplikaci v depends.exe. Depends.exe hlásí, které z knihoven DLL aplikace chybí nebo jsou přítomny v nesprávné verzi.

Jakmile máte úplný seznam knihoven DLL, na kterých závisí vaše aplikace, můžete určit, které z těchto knihoven DLL budete muset distribuovat s aplikací při zavádění do jiného počítače. Ve většině případů nepotřebujete redistribuovat systémové knihovny DLL, ale možná budete muset redistribuovat knihovny DLL pro knihovny Visual C++. Další informace získáte v tématu Určení, které knihovny DLL znovu distribuovat.

Viz také

Další zdroje

Nasazení (Visual C++)