Udostępnij za pośrednictwem


Obsługa konsolidatora dla bibliotek DLL załadowanych z opóźnieniem

Linker Visual C++ obsługuje teraz opóźnione ładowanie biblioteki dll.To łagodzi trzeba użyć Windows SDK funkcje LoadLibrary i GetProcAddress do wdrożenia opóźnione ładowanie biblioteki DLL.

Przed Visual C++ 6.0, jedynym sposobem, aby załadować biblioteki DLL w czasie wykonywania był za pomocą LoadLibrary i GetProcAddress; system operacyjny może załadować biblioteki DLL gdy plik wykonywalny lub przy użyciu biblioteki DLL został załadowany.

Visual C++ 6.0, począwszy od podczas łączenia statycznie z biblioteki DLL, linker zapewnia opcji, aby opóźnić załadować biblioteki DLL, dopóki program wywołuje funkcję w tej bibliotece DLL.

Aplikacja może opóźnić załadować biblioteki DLL za pomocą /DELAYLOAD (opóźnienie załadować Import) opcję przy użyciu funkcji pomocnika (Domyślna implementacja świadczone przez Visual C++).Funkcja helper będzie załadować biblioteki DLL w czasie wykonywania przez wywołanie LoadLibrary i GetProcAddress dla Ciebie.

Należy rozważyć opóźnienie ładowaniu biblioteki DLL:

  • Program może nie wywoływać funkcji w bibliotece DLL.

  • Funkcji w bibliotece DLL mogą nie sprawdzeni aż późno w realizacji programu.

Opóźnione ładowanie biblioteki DLL może być określony podczas budowy albo.EXE lub.Projekt biblioteki DLL.A.Projekt DLL, który opóźnia ładowania jednego lub więcej bibliotek DLL powinna nie sam wywołać wlotu załadowany opóźnienie w Dllmain.

Opóźnienie ładowania bibliotek DLL można znaleźć w następujących tematach:

Zobacz też

Koncepcje

Biblioteki DLL w programie Visual C++

Konsolidacja