Compartir a través de


Compatibilidad del vinculador con las DLL de carga retrasada

El vinculador de Visual C++ admite actualmente la carga retrasada de las DLL. Esto evita la necesidad de utilizar las funciones LoadLibrary y GetProcAddress de Windows SDK para implementar la carga retrasada de las DLL.

Antes de Visual C++ 6.0, la única forma de cargar una DLL en tiempo de ejecución era usando LoadLibraryyGetProcAddress; el sistema operativo cargaba la DLL una vez cargado el ejecutable o la DLL que lo utilizaba.

A partir de Visual C++ 6.0, al vincular estáticamente con una DLL, el vinculador proporciona opciones para retrasar la carga de la DLL hasta que el programa llame a una función dentro de esa DLL.

Una aplicación puede retrasar la carga de una DLL usando la opción /DELAYLOAD (Importación de carga retrasada) del vinculador con una función auxiliar (implementación predeterminada proporcionada por Visual C++). La función auxiliar cargará la DLL en tiempo de ejecución llamando a LoadLibrary y GetProcAddress.

Se debe considerar la carga retrasada de una DLL si:

  • El programa no puede llamar a una función dentro de la DLL.

  • Es posible que no se llame a una función de la DLL hasta bien avanzada la ejecución del programa.

La carga retrasada de una DLL se puede especificar durante la compilación de un proyecto .EXE o .DLL. Un proyecto DLL que retrasa la carga de una o varias DLL no debe llamar a un punto de entrada de carga retrasada en Dllmain.

Los temas siguientes describen la carga retrasada de las DLL:

Vea también

Conceptos

Archivos DLL en Visual C++

Vinculación