/DELAY
(Verzögerte Ladeimporteinstellungen)
Linkeroptionen zum Steuern des verzögerten Ladens von DLLs zur Laufzeit.
Syntax
/DELAY:UNLOAD
/DELAY:NOBIND
Hinweise
Die /DELAY
Option steuert verzögertes Laden von DLLs:
Der
/DELAY:UNLOAD
-Qualifizierer weist die Hilfsfunktion für das verzögerte Laden an, das explizite Entladen der DLL zu unterstützen. Die Importadresstabelle (IAT) wird in ihre ursprüngliche Form zurückgesetzt, wodurch IAT-Zeiger ungültig und überschrieben werden.Wenn Sie die Option nicht auswählen
/DELAY:UNLOAD
, schlägt ein Aufruf__FUnloadDelayLoadedDLL
fehl.Der
/DELAY:NOBIND
Qualifizierer weist dem Linker an, keine bindungsfähige IAT in das endgültige Bild einzuschließen. Das Standardverhalten ist, die bindungsfähige IAT für verzögert geladene DLLs zu erstellen. Das resultierende Bild kann nicht statisch gebunden werden. (Bilder mit gebundenen IATs können vor der Ausführung statisch gebunden werden.) Weitere Informationen finden Sie unter/BIND
.Wenn die DLL gebunden ist, versucht die Hilfsfunktion, die gebundenen Informationen zu verwenden, anstatt jedes der referenzierten Importe aufzurufen
GetProcAddress
. Wenn entweder der Zeitstempel oder die bevorzugte Adresse nicht mit den Adressen in der geladenen DLL übereinstimmt, geht die Hilfsfunktion davon aus, dass die gebundene IAT nicht mehr aktuell ist. Es wird fortgesetzt, als ob das GEBUNDENE IAT nicht vorhanden ist./DELAY:NOBIND
bewirkt, dass das Programmimage größer ist, aber die Ladezeit der DLL beschleunigen kann. Wenn Sie niemals beabsichtigen, die DLL zu binden, wird verhindert,/DELAY:NOBIND
dass das GEBUNDENE IAT generiert wird.
Verwenden Sie die Option, um DLLs zum Verzögern des /DELAYLOAD
Ladevorgangs anzugeben.
So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten für das Projekt. Weitere Informationen finden Sie unter Festlegen von Compiler- und Buildeigenschaften.
Wählen Sie die Seite "Konfigurationseigenschaften linker>>Advanced".
Ändern Sie die geladene DLL-Eigenschaft "Unload delay" oder die unbind delay loaded DLL-Eigenschaft . Wählen Sie OK oder Übernehmen, um die Änderungen zu speichern.
So legen Sie diese Linkeroption programmgesteuert fest
- Siehe AdditionalOptions.