Udostępnij za pośrednictwem


Poznanie zależności aplikacji Visual C++

Aby określić, które biblioteki Visual C++ zależy od aplikacji, można wyświetlić właściwości projektu. (W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Właściwości, aby otworzyć okno dialogowe Strony właściwości. W systemie Windows 8 i starszych można również użyć programu Dependency Walker (depends.exe), który zapewnia bardziej szczegółowy obraz zależności. W przypadku nowszych wersji systemu Windows narzędzie lucasg/Dependencies udostępnia podobne funkcje (jest to narzędzie innej firmy, które nie jest gwarantowane przez firmę Microsoft).

W oknie dialogowym Strony właściwości można sprawdzić różne strony w obszarze Właściwości konfiguracji, aby zrozumieć zależności. Jeśli na przykład projekt korzysta z bibliotek MFC i wybierzesz opcję Użyj MFC, użyj MFC w udostępnionej bibliotece DLL na stronie Właściwości konfiguracji, Ogólne, aplikacja w czasie wykonywania zależy od bibliotek DLL MFC, takich jak wersja> mfc<.dll. Jeśli aplikacja nie używa MFC, może to zależeć od biblioteki CRT, jeśli wybierzesz wartość Biblioteka środowiska uruchomieniowego wielowątkowej biblioteki DLL debugowania (/MDd) lub wielowątkowej biblioteki DLL (/MD) na stronie Właściwości konfiguracji, C/C++, Generowanie kodu.

Korzystając z depends.exe, można sprawdzić listę bibliotek DLL połączonych z aplikacją w czasie ładowania oraz listę bibliotek DLL załadowanych z opóźnieniem. Jeśli chcesz uzyskać pełną listę bibliotek DLL, które są dynamicznie ładowane w czasie wykonywania, możesz użyć funkcji profilowania w depends.exe, aby przetestować aplikację, dopóki nie masz pewności, że wszystkie ścieżki kodu zostały wykonane. Po zakończeniu sesji profilowania depends.exe pokazuje, które biblioteki DLL były dynamicznie ładowane w czasie wykonywania.

Korzystając z depends.exe, należy pamiętać, że biblioteka DLL może zależeć od innej biblioteki DLL lub od określonej wersji biblioteki DLL. Można użyć depends.exe na komputerze deweloperskim lub na komputerze docelowym. Na komputerze deweloperskim depends.exe raportuje biblioteki DLL, które są wymagane do obsługi aplikacji. Jeśli masz problemy z uruchomieniem aplikacji na komputerze docelowym, możesz skopiować do niego depends.exe i następnie otworzyć aplikację za pomocą narzędzia, aby określić, czy któryś wymagany plik DLL jest niedostępny lub nieprawidłowy.

Jeśli wiadomo, od których plików DLL zależy aplikacja, możesz określić te, które trzeba rozpowszechniać wraz z aplikacją, kiedy wdraża się ją na innym komputerze. W większości przypadków nie trzeba redystrybuować bibliotek DLL systemu, ale może być konieczne ponowne dystrybuowanie bibliotek DLL dla bibliotek Visual C++. Aby uzyskać więcej informacji, zobacz Określanie, które biblioteki DLL do redystrybucji.

Zobacz też

Wdrażanie aplikacji klasycznych