Udostępnij za pośrednictwem


/DELAY (Opóźnij ładowanie ustawień importowania)

Opcje konsolidatora do kontrolowania opóźnionego ładowania bibliotek DLL w czasie wykonywania.

Składnia

/DELAY:UNLOAD
/DELAY:NOBIND

Uwagi

Opcja /DELAY steruje opóźnionym ładowaniem bibliotek DLL:

  • /DELAY:UNLOAD Kwalifikator informuje funkcję pomocnika delay-load, aby obsługiwała jawne zwalnianie biblioteki DLL. Tabela adresów importu (IAT) jest resetowany do oryginalnej formy, unieważniając wskaźniki IAT i powodując ich zastąpienie.

    Jeśli nie wybierzesz polecenia /DELAY:UNLOAD, wywołanie metody zakończy się niepowodzeniem __FUnloadDelayLoadedDLL .

  • /DELAY:NOBIND Kwalifikator informuje konsolidatora, aby nie uwzględniał powiązanego IAT na końcowym obrazie. Ustawieniem domyślnym jest utworzenie powiązanego IAT dla bibliotek DLL ładowanych z opóźnieniem. Wynikowy obraz nie może być powiązany statycznie. (Obrazy z powiązanymi sieciami IAT mogą być statycznie powiązane przed wykonaniem). Aby uzyskać więcej informacji, zobacz /BIND.

    Jeśli biblioteka DLL jest powiązana, funkcja pomocnika próbuje użyć powiązanych informacji zamiast wywoływania GetProcAddress dla każdego z przywoływałych importów. Jeśli znacznik czasu lub preferowany adres nie pasuje do załadowanej biblioteki DLL, funkcja pomocnika zakłada, że powiązana funkcja IAT jest nieaktualna. Będzie ona kontynuowana tak, jakby powiązana funkcja IAT nie istnieje.

    /DELAY:NOBIND powoduje, że obraz programu jest większy, ale może przyspieszyć ładowanie biblioteki DLL. Jeśli nigdy nie zamierzasz powiązać biblioteki DLL, /DELAY:NOBIND uniemożliwia wygenerowanie powiązanej funkcji IAT.

Aby określić biblioteki DLL w celu opóźnienia ładowania, użyj /DELAYLOAD opcji .

Aby ustawić tę opcję konsolidatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe Strony właściwości dla projektu. Aby uzyskać więcej informacji, zobacz Ustawianie właściwości kompilatora i kompilacji.

  2. Wybierz stronę właściwości Zaawansowane konsolidatora> właściwości>konfiguracji.

  3. Zmodyfikuj właściwość DLL załadowaną podczas zwalniania lub właściwość DLL załadowaną z opóźnieniem. Wybierz przycisk OK lub Zastosuj , aby zapisać zmiany.

Aby programowo ustawić tę opcję konsolidatora

Zobacz też

Dokumentacja konsolidatora MSVC
Opcje konsolidatora MSVC