/DELAY (Impostazioni dell'importazione a caricamento ritardato)
/DELAY:UNLOAD
/DELAY:NOBIND
Note
L'opzione /DELAY controlla il caricamento ritardato di DLL:
Il qualificatore UNLOAD indica alla funzione dell'helper di caricamento ritardato di supportare lo scaricamento esplicito della DLL. Viene ripristinato il formato originale della tabella di indirizzi di importazione. Ciò rende non validi i puntatori alla tabella e ne provoca la riscrittura.
Se non si seleziona UNLOAD, qualsiasi chiamata a FUnloadDelayLoadedDLL avrà esito negativo.
Il qualificatore NOBIND indica al linker di non includere una tabella di indirizzi di importazione nell'immagine finale. L'impostazione predefinita prevede la creazione della tabella di indirizzi di importazione associabile per DLL di caricamento ritardato. L'immagine risultante non può essere associata in modo statico. È possibile che le immagini con tabelle di indirizzi di importazione associabili siano associate in modo statico prima dell'esecuzione. Vedere /BIND.
Se il file DLL è associato, la funzione dell'helper proverà a usare le informazioni associate invece di chiamare GetProcAddress in ogni importazione con riferimenti. Se il timestamp o l'indirizzo preferito non corrisponde ai valori presenti nel file DLL caricato, la funzione dell'helper presupporrà che la tabella di indirizzi di importazione sia obsoleta e procederà come se la tabella di indirizzi di importazione non esistesse.
NOBIND provoca la creazione di immagini di programma di dimensioni superiori, ma può velocizzare il tempo di caricamento del file DLL. Se non si prevede di associare il file DLL, NOBIND impedirà la generazione della tabella di indirizzi di importazione associata.
Per specificare i file DLL da caricare in modo ritardato, usare l'opzione /DELAYLOAD.
Per impostare questa opzione del linker nell'ambiente di sviluppo di Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni, vedere Utilizzo di proprietà di progetto.
Espandere Proprietà di configurazione, Linker e quindi selezionare Avanzate.
Modificare la proprietà DLL a caricamento ritardato.
Per impostare l'opzione del linker a livello di codice
- Vedere DelayLoadDLLs.