/DELAY (Configuración de las importaciones de carga retrasada)

Opciones del vinculador para controlar la carga retrasada de los archivos DLL en tiempo de ejecución.

Sintaxis

/DELAY:UNLOAD
/DELAY:NOBIND

Comentarios

La opción /DELAY controla la carga retrasada de los DLL:

  • El calificador /DELAY:UNLOAD le indica a la función del asistente de carga retrasada que admita la descarga explícita de la DLL. La tabla de direcciones de importación (IAT) se restablece a su forma original. Al hacerlo, invalida los punteros de IAT y hace que se sobrescriban.

    Si no se selecciona /DELAY:UNLOAD, se producirá un error en la llamada a __FUnloadDelayLoadedDLL.

  • El calificador /DELAY:NOBIND le indica al enlazador que no incluya una IAT enlazable en la imagen final. Con la configuración predeterminada, se crea la IAT enlazable para las DLL de carga retrasada. La imagen resultante no se puede enlazar de manera estática. (Las imágenes con las IAT enlazables se pueden enlazar estáticamente antes de la ejecución). Para obtener más información, consulte /BIND.

    Si el archivo DLL está enlazado, la función auxiliar intenta usar la información enlazada en vez de llamar a GetProcAddress en cada una de las importaciones referenciadas. Si la marca de tiempo o la dirección preferida no coinciden con la del archivo DLL cargado, la función auxiliar asume que la IAT enlazada no está actualizada. Continúa como si la IAT enlazada no existiera.

    /DELAY:NOBIND aumenta el tamaño de la imagen del programa, pero puede reducir el tiempo de carga de la DLL. Si nunca trata de enlazar la DLL, /DELAY:NOBIND impide que se genere la IAT enlazada.

Para especificar las DLL de la carga retrasada, utilice la opción /DELAYLOAD.

Para establecer esta opción del vinculador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento de las propiedades del compilador y la compilación.

  2. Seleccione la página de propiedades Propiedades de configuración>Enlazador>Avanzado.

  3. Modifique la propiedad DLL de carga retrasada de descarga o la propiedad DLL desenlace retrasada sin enlace. Haga clic en Aceptar o en Aplicar para guardar los cambios.

Para establecer esta opción del vinculador mediante programación

Consulte también

Referencia del enlazador MSVC
Opciones del enlazador MSVC