/DELAY (Delay load import settings)
Linker options to control delayed loading of DLLs at runtime.
/DELAY option controls delayed loading of DLLs:
/DELAY:UNLOADqualifier tells the delay-load helper function to support explicit unloading of the DLL. The Import Address Table (IAT) is reset to its original form, invalidating IAT pointers and causing them to be overwritten.
If you don't select
/DELAY:UNLOAD, any call to
/DELAY:NOBINDqualifier tells the linker not to include a bindable IAT in the final image. The default is to create the bindable IAT for delay-loaded DLLs. The resulting image can't be statically bound. (Images with bindable IATs may be statically bound before execution.) For more information, see
If the DLL is bound, the helper function attempts to use the bound information instead of calling
GetProcAddresson each of the referenced imports. If either the timestamp or the preferred address doesn't match the ones in the loaded DLL, the helper function assumes the bound IAT is out of date. It continues as if the bound IAT doesn't exist.
/DELAY:NOBINDcauses your program image to be larger, but can speed load time of the DLL. If you never intend to bind the DLL,
/DELAY:NOBINDprevents the bound IAT from being generated.
To specify DLLs to delay load, use the
To set this linker option in the Visual Studio development environment
Open the project's Property Pages dialog box. For information, see Set C++ compiler and build properties in Visual Studio.
Select the Configuration Properties > Linker > Advanced property page.
Modify the Delay Loaded DLL property. Choose OK to save your changes.
To set this linker option programmatically
- See DelayLoadDLLs.
Submit and view feedback for